我在网上搜索了所有解决方案。不幸的是,我还没有找到任何可行的解决方案。以下是故事。
我在装有 Window Server 2012 的 VPS 上运行用于小型通信应用程序的 TCP 服务器。VPS 是商用的,每月需要支付一些费用。
假设我使用 10000 端口监听我的服务器。在我的服务器上,我已允许私有、公共和域级别的 tcp 端口 10000 的入站和出站防火墙规则。当我在我的 vps 上使用命令提示符执行“netstat -a”时,我可以看到端口已打开并从任何地方进行监听。这是 netstat 的显示:
原始本地地址状态 TCP 0.0.0.0:10000 正在监听
但是,当我从远程计算机运行 tcp 客户端时,总是出现 10060 错误,提示“连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立连接失败,因为连接的主机没有响应”。
因此,我在远程客户端计算机上使用 ping 命令检查了 IP 地址是否正确。这是 ping 的显示:
xx.xx.xx.xx 的 Ping 统计信息:数据包:已发送 = 4,已接收 = 4,丢失 = 0(丢失率为 0%),以毫秒为单位的近似往返时间:最短 = 188 毫秒,最长 = 213 毫秒,平均 = 195 毫秒
我 ping 的 vps 服务器的 ip 地址响应完美,统计信息有效。一切似乎都正常,只是远程 tcp 客户端无法连接到 vps 上的 tcp 服务器。
我甚至尝试关闭 VPS 和远程客户端计算机上的防火墙。但我仍然收到相同的响应 100060 并出现错误。
这真是令人沮丧。我想不出还有什么可以干扰服务器和客户端之间的连接。
供您参考,我在其他公司的另一个 vps 上测试了连接,tcp 服务器和远程客户端之间的连接完美。服务器和客户端应用程序基于 Dot Net Frame work 版本 4.0 构建。似乎这个应用程序在某些 vps 上无法运行,而在其他一些 vps 上可以运行。
我们将非常感激您的想法。
最亲切的问候。