HOw在拥有转发的IP服务器时连接到TCP/IP客户端
本文关键字:IP 连接 TCP 客户端 服务器 拥有 转发 HOw | 更新日期: 2023-09-27 18:27:44
我有一台通过动态IP连接到互联网的计算机。因此,我无法通过TCP/IP连接到我的TCP/IP服务器程序,我已经编写了C#,但它通过静态IP运行良好。我决定在DuckDNS.Org和http://freedns.afraid.org/能够通过以下网址ping我的机器:test.mooo.com.
现在我可以通过这个子域ping我的电脑了,但我的问题是:
如何修改最初只处理IP的客户端程序以连接到在特定端口运行服务器的计算机,从而使用web地址连接到我的计算机?
我试过:
client = new TcpClient("test.mooo.com", (int)Activity1.settingObj.port);
但它不起作用。提前谢谢。我使用的是C#,但我想这是一个通用的TCP/IP问题。
Ping仅验证ICMP。这不是TCP。许多防火墙被设置为响应或通过ICMP,即使不允许其他任何操作。
您的电脑可能位于NAT防火墙/网关后面。如果您使用任何类型的Linksys/Netgear类型的DSL或Cable路由器,您需要检查它是否支持端口转发。通常,您可以设置一个规则,将端口转发到局域网上的单个专用IP地址。
还要检查电脑本身的防火墙。请验证Windows防火墙是否已禁用,或者添加端口异常。
在极端情况下,一些ISP也会阻止传入连接,但通常情况并非如此。
经过多次斗争,有两种方法可以实现这一目标。首先,当我们能够设置路由器设置为提供静态IP时,在许多情况下这是不可能的。第二种方法是使用VPN服务,为我们提供静态的"专用"IP。这些服务不是免费的,该设施每月收取订阅费。然而,它是有效的。我试过了http://vpnstaticip.com/他们给出了非常有限的试用期来测试vpn。我测试过,结果很好,他们给IP静态。它对我有效,尽管它很贵,我需要找到使用它的充分理由。