首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

IOCP编程Post一个AcceptEx,收到客户端连接的事件后,如何样取得客户端的地址和端口

2012-09-10 
IOCP编程Post一个AcceptEx,收到客户端连接的事件后,怎么样取得客户端的地址和端口?AcceptEx( pSrvNode-So

IOCP编程Post一个AcceptEx,收到客户端连接的事件后,怎么样取得客户端的地址和端口?
AcceptEx( pSrvNode->Socket(),
  pAccept->Socket(),
m_IOMem.Data(),
0, 
sizeof(sockaddr_in)+16, sizeof(sockaddr_in)+16,
&dwRecv, &pAccept->m_ol );

===》
  在Accept事件中,怎么样取得客户端的IP地址和端口呢?
采用的一有连接就返回,不用等到客户端发送数据。

[解决办法]
getpeername()
[解决办法]
setsockopt(acsocket, SOL_SOCKET, SO_UPDATE_ACCEPT_CONTEXT, (const char*) &listener, sizeof(listener));
之后,就可以getpeername了,否则取不到。

其中,acsocket是新连接的客户端对应的套接字,listener是监听套接字。
[解决办法]
不是有个 GetAcceptExSockaddrs 么?

热点排行