在socket编程中,如何在recv之后获得对方的IP地址??
在recv(SOCKET sock,char * buf,int bufsize)函数中如何从sock中获得发送消息的对方的IP地址?? 问题点数:50、回复次数:4Top
1 楼yongdu()回复于 2005-11-03 12:43:41 得分 40
连接后,可以使用socket调用getpeername得到Top
2 楼skykeen(天佑神州)回复于 2005-11-03 13:00:32 得分 0
如果你是请求方,你一定知道对方的ip,port
如果你是应答者者,你一定是要先S = accept(SOCKET s,struct sockaddr* addr, int* addrlen)了的,那么对方的地址信息就在addr里,如果你还要联接了许多的其它请求者,此时你自己要通过某种方式记录下[S,addr]映射,这样你以后就能由S找到addr啦Top
3 楼lifengice0706(无)回复于 2005-11-03 16:13:57 得分 10
getpeernameTop
4 楼daviswakeup(不喜裸奔)回复于 2005-11-04 00:32:49 得分 0
你在建立accept()之前是不是要设置一个SOCKADDR)_IN addrClient,
获取客户端的IP和PORT 就是这个
addrClient.sin_addr; 就是那个地址结构体中的IP那项, 你定义一个字符串,传给它就好了。
addrClient.port;Top




