sockaddr_in转换IP头大啦
各位大虾!小弟不才来求救了!下面的两段代码搞得头爆了!望各位前辈帮我降降温,谢谢!!.data
IP db '192.168.0.1',0
_Test proc
local addrs:sockaddr_in
invoke inet_addr,offset IP
mov addrs.sin_addr,eax
mov eax,addrs.sin_addr
invoke inet_ntoa,eax
invoke MessageBox,NULL,eax,NULL,NULL ;结果相当正确 192.168.0.1
ret
_Test endp
......;问题来了,,,,,
local addrs:sockaddr_in
invoke accept,hSocket,addr addrs,edx
.if eax!=INVALID_SOCKET
mov ecx,addrs.sin_addr ; 如果是 lea ecx,addrs.sin_addr 转换出来的就是不正确的
invoke inet_ntoa,ecx ;转换成功但结果是0.0.0.0 相当气人
invoke MessageBox,NULL,eax,NULL,NULL
.endif
数据发送都正常就是想转换对方的IP老是转换不正确
求救是哪里出了错!第一段代码正确,搬到下面就变卦了
如何才能正确的将 invoke accept,hSocket,addr addrs,edx 对方的IP转换出来