c# socket通信问题?
利用 IPEndPoint iep = new IPEndPoint(IPAddress.Any, 56356);socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
socket.Bind(iep);
socket.Listen(5);
进行监听的时候IPAddress.Any应该是本机的IP地址!但是由于本机是内网的!所有获取到的就是外网的IP地址,也就是说点击打开监听的时候,打开的是外网IP所在机子的端口,而本机却没打开!怎么实现打开的是本机的端口,而不是外网的端口!
另一方连接时【IPEndPoint iep = new IPEndPoint(IPAddress.Any, 56356)】中的IPAddress.Any应该是什么? --------------------编程问答-------------------- 127.0.0.1试试! --------------------编程问答-------------------- IPEndPoint iep = new IPEndPoint(IPAddress.Any, 56356);//绑定到本地所有IP,一台电脑可以有多个IP,如果你有多个IP有内网又有外网的话,你想绑定到那个上面第一个参数就写那个ip socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
socket.Bind(iep);
socket.Listen(5);
--------------------编程问答--------------------
因为我们写程序的时候是在内网写的,也没上服务器!这时获取的就是内网的ip地址!
上服务器之后,获取到的就是外网的ip地址了!内网的就没了!
IPHostEntry ieh = Dns.GetHostByName(Dns.GetHostName());这样获取的ip地址是不是包含了内网和外网的? --------------------编程问答-------------------- 我不得不说这个“本地网卡启动后配置为外网IP”的说法太“扯”了。
补充:.NET技术 , ASP.NET