我用方法监听特定端口BeginReceive()
。
如何找到发件人的IP?
谢谢你。
我认为您应该详细说明您的问题。
无论如何,您可以在清晰详细的“异步服务器套接字示例”MSDN 示例中找到有关如何使用类BeginReceive()
的其他异步方法的完整示例。Socket
您将阅读到的技巧是在您接受连接并要调用时初始化一个自定义状态对象(您可以在其中放置打开的 Socket 信息)BeginReceive
,以便接收回调将能够使用IAsyncResult.AsyncResult
属性检索该状态.
按照链接的示例,您可以通过这种方式检索“发送者”(远程)IP 地址(在 AcceptCallback、ReadCallback 中,其中 handler 是Socket
类的一个实例):
IPAddress remoteAddress = ((IPEndPoint)handler.RemoteEndPoint).Address;