如何查找socket的ip C#BeginReceive

时间:2012-05-18 17:18:41

标签: c# sockets

我使用BeginReceive()方法收听特定端口 我如何找到发件人的IP?

谢谢。

1 个答案:

答案 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;
相关问题