我使用BeginReceive()
方法收听特定端口
我如何找到发件人的IP?
谢谢。
答案 0 :(得分:3)
我认为你应该详细说明你的问题。
无论如何,您可以在清晰详细的"Asynchronous Server Socket Example" MSDN Sample中找到有关如何使用BeginReceive()
和Socket
类的其他异步方法的完整示例。
您将阅读的技巧是在接受连接时初始化自定义状态对象(您可以在其中放置已打开的套接字信息)并且您将调用BeginReceive
,以便接收回调将能够使用IAsyncResult.AsyncResult
属性检索该状态。
在链接示例之后,您可以通过这种方式检索“sender”(远程)ip地址(在AcceptCallback,ReadCallback中,其中handler是Socket
类的istance):
IPAddress remoteAddress = ((IPEndPoint)handler.RemoteEndPoint).Address;