【发布时间】:2015-10-21 16:51:55
【问题描述】:
我是编程的初学者,所以我什至不知道我要问什么是可能的。我想通过 WAN 与服务器建立 TCP/IP 连接。
客户端和服务器程序都是我制作的,它们在局域网中运行良好。我现在正在尝试通过 WAN。我知道服务器 IP 地址和他正在侦听的端口,但作为客户端,我无法建立连接。我想这是因为端口实际上并没有打开/可用。
如何在服务器端实现这一点?有没有办法让我启动服务器(也许作为管理员)并让它自己打开端口?这是路由器问题还是防火墙问题?
如果我不够清楚,请随时提问。
干杯。
PS:让我这样说: 如果我在局域网中建立连接,它可以工作。我将其设置为本地 IP 地址(192.168 ....)并选择我想要的任何端口,它工作得很好。一旦我把我的公共 IP 提供给我的 ISP,它就没有了。我将防火墙路由器设置为接受所有内容,并在 Windows 防火墙中设置了新规则以打开端口 100。发生了什么变化?
【问题讨论】:
-
听起来更像是网络问题而不是编程问题...您所说的 WAN 是指通过互联网,还是只是无线路由器?
-
以目前的形式,这个问题并不适合 Stack Overflow。很可能在从您的客户端到您的服务器的路由上,有一些东西阻塞了特定的 TCP/IP 端口。我的猜测是服务器位于 NAT 路由器后面,您需要配置路由器以将特定端口转发到您的服务器,但您没有指定有关设置的任何详细信息,所以我完全错了。
-
到目前为止我所做的是link提供的一个简单的TCP连接。我所做的只是请一位朋友从他家中的计算机上运行服务器程序。我设置了他的公共 IP 地址,但未能设置连接。
-
回答我的问题,改变的是需要使我的计算机能够读取 ip 数据包的端口转发。你知道是否可以通过c#进行端口转发吗?