c# socket写的客户端软件,安装后如何知道客户机器的ip,现在获取的都是电脑的局域网ip.  这样服务器端根本无法从网络上与客户端连接。 另外请提供一份好点的socket实现网络通信的参考资料

解决方案 »

  1.   

    现在获取的都是电脑的局域网ip. 这样服务器端根本无法从网络上与客户端连接
    客户端只需要知道服务器的IP就可以连接
    如果你想说的是连接后服务器和客户端之间的通信需要知道客户端的IP,那是用socket.RemoteEndPoint获取客户端IP
      

  2.   

    这个参考资料不错C# Socket编程
      

  3.   

    是服务器端要主动与客户端连接,客户端不会主动通信给服务器端。  所以软件安装后有什么代码可以取得客户机器上网的ip,像我们公司都在一个局域网里面获取的根本就是本机局域网ip,而不是公司路由器出去的ip.
      

  4.   

    第一、"服务器主动和客户端连接" 这是个错误的思路。
    第二、为什么客户端需要主动连接服务器,因为服务器监听的公网IP和端口号是可以确定的,而客户端不同,多是NAT映射后的地址,端口随即的,也就是你无法监听固定的地址。至少我现在还不知道如何监听