C# Socket编程如何获取连接的远程客户端的IP地址和端口
GIS小天 2015-06-29 05:21:20 最近做C#Socket编程时遇到了一个非常奇怪的问题,我在A市,用了一个第三方做端口映射的软件成功实现了跨局域网进行TCP通信的问题,也就是我的办公室的电脑作为服务器,我的内网IP为172.23.21.168,端口号为51888,并用第三方软件做了端口映射,将端口映射为31669,将客户端程序发给我一个在另一个城市B市的朋友(他也处在办公室的网络中 )帮我测试,他用客户端程序已经成功连接到了我的服务器,并可以成功跟我进行通信(打字聊天信息双方都能接收和发送)。现在问题来了,我用C#里的socket.RemoteEndPoint想获取他的IP和端口,可是得到的IP竟然是我的内网的IP地址为172.23.21.168,端口号是另外一个为23489的号,请问这是什么原因造成的?为何双方能成功进行跨网段通信,但是却无法获取他的IP地址,求大神指点下。