2009-06-25 55 views
0

如何找出连接的客户端IP地址。以及我们如何将该地址存储到一个数据类型数组IPAddress找出连接的客户IP?

+0

需要更多关于上下文的信息。你在运行网络服务器吗?一些其他类型的服务器?某种p2p应用程序? – 2009-06-25 06:46:15

+0

没有。我有一个小型的服务器和客户端应用程序。我的需求是找出服务器中连接客户端的IP地址。 – MAC 2009-06-25 06:50:04

回答

0

我们是否在Windows?你是否需要在应用程序中使用这些信息,或者一个控制台命令可以做到这一点?

也许你可以试试netstat -na在一个shell中。

1

检查你的插座RemoteEndPoint

如果您使用的是面向连接的 协议中,RemoteEndPoint财产 获取包含 远程IP地址和端口号 的端点套接字已连接。如果 正在使用无连接协议,则 RemoteEndPoint包含默认的 远程IP地址和端口号,其中Socket将与之通信的 。您必须在检索任何 信息之前将此EndPoint转换为 IPEndPoint。然后,您可以调用IPEndPoint.Address方法来检索 远程IP地址,并使用IPEndPoint.Port方法检索远程端口号 。

如果您使用TcpListener和TcpClient等更高级别的组件,那么您可以access the underlying socket并检索远程端点。

如果您使用其他技术如ASP.Net,WCF或Remoting,那么您必须在您的文章中这样说。

要存储IP地址,请使用IPAddress.GetAddressBytes检索基础字节。您使用the byte[] constructor从字节重建地址。