【发布时间】:2017-09-02 11:52:44
【问题描述】:
我的 Socket 在我的本地网络中正常工作,但是将程序发送给朋友时,他无法连接到我。
我使用此代码托管服务器:
Socket listener = new Socket(AddressFamily.InterNetworkV6, SocketType.Stream, ProtocolType.Tcp);
listener.Bind(new IPEndPoint(IPAddress.IPv6Any, 30000));
listener.Listen(500);
他使用我的外部 IP 地址(来自http://whatismyip.org/)和我指定的端口(30000)连接到这个服务器,代码如下:
Socket inOut = new Socket(AddressFamily.InterNetworkV6, SocketType.Stream, ProtocolType.Tcp);
inOut.Connect(new IPEndPoint(IPAddress.Parse(textBox5.Text), 30000));
使用 cmd netstat -a 时,我找不到端口为 30000 的监听条目,所以我猜我的服务器设置错误或者我需要指定不同的东西,但我已经在路由器中打开了端口 (30000)。
【问题讨论】:
-
如果我错了,请纠正我,但不将方法 .Listen(int Port) 作为参数?这意味着您在端口 500 上监听?
-
数字为积压,指定可能的连接数
-
@Loading 更准确地说,它是可以排队等待被调用
Socket.(Begin)Accept()的服务器接受的最大连接数。这不是服务器一次可以使用的最大接受连接数。
标签: c# sockets networking