关于网友提出的“ 如何获得客户端IP和端口号”问题疑问,本网通过在网上对“ 如何获得客户端IP和端口号”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 如何获得客户端IP和端口号
描述: AcceptSocket = accept( ServerSocket, NULL, NULL );
当accept已经接受了客户机的连接,此时服务器端怎样获得客户端的IP和端口号呢?
解决方案1: 那么新创建的会话socket,他的发送接收端口 是原来监听socket所bind的端口吗?
解决方案2: mark
解决方案3: study.
解决方案4: sockaddr_in addr;
int n = sizeof(addr);
AcceptSocket = accept( ServerSocket, (LPSOCKADDR)&addr, &n);
CString strIP = inet_ntoa(addr.sin_addr);
int nPort = addr.sin_port;
解决方案5: sockaddr_in sainClientName;
int iNameLen = sizeof(sainClientName);
CString strIP;//客户段IP
getpeername(pThis->sockAccept[pThis->iUsed],(sockaddr*)&sainClientName,&iNameLen);
strIP.Format("%s",inet_ntoa(sainClientName.sin_addr));
解决方案6: 来晚了, 楼上几位讲 TMD 这么详细! 没得说了~
解决方案7: accept中可以得到地址结构等
也可以用getpeername来获得
解决方案8: mark
解决方案9: yes
解决方案10: 如何根据socket知道和本机相连的对方机器的IP
sockaddr_in addr;
CString strIP;
int n = sizeof(addr);
int ff =getpeername(sock,(LPSOCKADDR)&addr,&n);
strIP = inet_ntoa(addr.sin_addr);
解决方案11: 同意楼上的方法
解决方案12: 后面两个参数就是.不要填NULL
以上介绍了“ 如何获得客户端IP和端口号”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3152920.html