服务器端的程序使用TcpListener.AcceptTcpClient()方法取得一个TcpClient对象 
现在我希望获得客户端的IP地址、端口等信息,理论上可以从上面取得TcpClient对象中获 
取吧,但是寻遍TcpClient的方法、属性都没有相关的信息。 
Linux的Socket都有类似的函数。 
那应该如何在C#中取得客户端的信息呢? 
(.NET Framework 1.1, Visual Studio 2003) 

解决方案 »

  1.   

    TcpClient.Client是TcpClient内部使用的Socket对象,访问它的RemoteEndPoint属性就可以了.NET 1.x里面TcpClient.Client好像是个protected属性嗯,所以不要用AcceptTcpClient,用AcceptSocket方法
      

  2.   

    如果用AcceptSocket()返回Socket对象的话 就不能从中取得NetworkStream了。
    而后面的代码都是基于NetworkStream的 那些的代码就得大改啊
    除了Socket还有别的方法吗?
      

  3.   

    [如果用AcceptSocket()返回Socket对象的话 就不能从中取得NetworkStream了。
    而后面的代码都是基于NetworkStream的 那些的代码就得大改啊
    除了Socket还有别的方法吗?]NetworkStream ns = new NetworkStream(theSocket, true);这样就可以将Socket包装成NetworkStream了如果你调用ns.Close()不想关闭Socket的话,最后的true就改成false