在TCP服务器中往往需要获得通讯对方的ip和端口, 有很多方法可以实现, getpeername、getsockname等.
但是当使用异步AcceptEx来等待客户端连接时,想获得对方的ip,最好使用GetAcceptExSockaddrs来实现了.
这两个函数如何使用,大家可以查看msdn,不是这里面的重点。
这里讲的重点是,当使用WSAIoctl来获得AcceptEx的指针lpAcceptEx时,使用lpAcceptEx(...)来等待连接时,则必须使用GetAcceptExSockaddrs的指针lpGetAcceptExSockaddrs才能正确的获取客户端的ip。
也许讲的不是很明白,总之是AcceptEx对应GetAcceptExSockaddrs,AcceptEx的指针对应GetAcceptExSockaddrs的指针。
如果混合使用则获得的ip肯定有误.
阅读(7621) | 评论(0) | 转发(0) |