Listener = new TcpListener(IPAddress.Parse(GetIp), 8888); // 监听
                    Listener.Start(); // 开始监听
                    CheckForIllegalCrossThreadCalls = false;          
                    TcpRec = Listener.AcceptTcpClient();
                     ns = TcpRec.GetStream();
以上为服务代码,请问怎么获取客户端连接的IP地址啊?

解决方案 »

  1.   

    var other = TcpRec.Client.RemoteEndPoint;
      

  2.   

    that's right,you can learn more from this:http://www.cnblogs.com/JimmyZhang/archive/2008/09/07/1286300.html
      

  3.   

    首先非常感谢,方法是对的。
    客户端: TcpClient = new TcpClient(txtIP.Text,8888);
                        NetworkStream = TcpClient.GetStream();  为什么 EndPoint e= TcpRec.Client.RemoteEndPoint;
                        MessageBox.Show(e.ToString());
    获取的值IP地址是对的,端口号和客户端的不一样呢
    获取的端口为3213
      

  4.   

    MSDN参考说
    TcpClient(String, Int32)构造,是用来创建并连接到远端服务的,这里的地址和端口指的是服务器。如果客户端没有具体绑定到一本地端口,那它就可以自由选择一个空闲的端口,比如3213,来发起连接。