我知道WSARecvFrom有一个参数,用于返回发件人的IP地址。但是,当我将它与重叠的io一起使用时,我传递的变量不会被填充。使用重叠的IO获取发件人的IP地址
WSARecvFrom(udpSocket, &receiveBuffer, 1, 0, &flags, (sockaddr*)&incomingAddress, &SocketAddressSize, &receiveOverlapped, 0)
...
WSAWaitForMultipleEvents(2, networkEvents, false, WSA_INFINITE, false)
...
WSAGetOverlappedResult(udpSocket, &receiveOverlapped, &transferCount, true, &flags);
...
char* incomingAddressString = inet_ntoa(incomingAddress.sin_addr);
incomingAddressString现在等于 “204.204.204.204”
我缺少的东西?
感谢
考虑使用ASIO http://think-async.com/Asio/ – 2011-12-20 21:53:11