char szPeerAddress[16];
::ZeroMemory(szPeerAddress,sizeof(szPeerAddress));
int namelen;
getpeername(m_currAcceptSock,(sockaddr*)&peer,&namelen);
strcpy(szPeerAddress,inet_ntoa(peer.sin_addr));
我想用上面的调用,得到对方的IP.
为什么我得到对方的IP都是“204.204.204.204".
::ZeroMemory(szPeerAddress,sizeof(szPeerAddress));
int namelen;
getpeername(m_currAcceptSock,(sockaddr*)&peer,&namelen);
strcpy(szPeerAddress,inet_ntoa(peer.sin_addr));
我想用上面的调用,得到对方的IP.
为什么我得到对方的IP都是“204.204.204.204".
解决方案 »
- 請問一下啟動程式的問題
- MFC starter 关于编辑资源文件的问题
- 初学VC++6.0的问题,急!
- 请大家进来给我个思路~谢谢了~
- new一块内存,保存Byte型变量,然后将变量Add到CByteArray中,那在CByteArray中怎么释放内存?
- ado中如何使用insert语句
- LPTSTR 如何转化为CString?
- 菜鸟问题,望大虾指点(急等)
- >>>>>>>> 编写文件下载程序遇到的奇怪问题,高分请教~~~~~
- 100/23后怎么求剩余的数字,就是怎样用mod
- 我又要来问了,在线放分:请问我如果在选中一个RADIOCHECK控件后,导致另外几个控件变灰不能操作?如"Edit Box"。。。
- 一个关于NetMessageBufferSend()的问题
getpeername(m_currAcceptSock,(sockaddr*)&peer,&namelen /*问题在这*/);getpeername
The Windows Sockets getpeername function retrieves the name of the peer to which a socket is connected.int getpeername (
SOCKET s,
struct sockaddr FAR* name,
int FAR* namelen
);
Parameters
s
[in] A descriptor identifying a connected socket.
name
[out] The structure that receives the name of the peer.
namelen
[in/out] A pointer to the size of the name structure. 你的是给了一个指向整数的指针, 不是指向结构的
getpeername(m_currAcceptSock,(sockaddr*)&peer,&namelen);namelen没有赋初始值进去,改成.sockaddr peer;
int namelen = sizeof(peer);
getpeername(m_currAcceptSock,(sockaddr*)&peer,&namelen);
这样就没问题了.