![客户端无法通过互联网连接到服务器](https://linux22.com/image/1547517/%E5%AE%A2%E6%88%B7%E7%AB%AF%E6%97%A0%E6%B3%95%E9%80%9A%E8%BF%87%E4%BA%92%E8%81%94%E7%BD%91%E8%BF%9E%E6%8E%A5%E5%88%B0%E6%9C%8D%E5%8A%A1%E5%99%A8.png)
我有两个自己编写的程序:服务器和客户端。客户端使用服务器 IP 地址通过互联网连接到它。建立连接后,服务器必须显示消息“客户端已连接”。就是这样。服务器和客户端程序在不同的计算机上的 Windows 7 下运行。为了使服务器程序正常工作,我做了一些环境自定义:
1. 禁用防火墙:Windows 防火墙 - 自定义设置 - 关闭 Windows 防火墙(进行如下设置这里)
2. 我有静态 IP 和路由器 TPLink TL-WR841N。所以我通过以下方式进行端口转发:路由器设置 - 转发 - 虚拟服务器。在打开的菜单我输入了服务器本地 IP(例如 192.168.1.15)和端口(37777)。此时在线端口检查服务如下这说端口 37777 已开放。
现在我希望一切都能正常工作。但事实并非如此:客户端程序尝试建立连接,但失败了,显示“套接字超时错误”。telnet 等程序也无法连接到服务器。如果我在服务器计算机上同时运行服务器和客户端程序(一台计算机连接到自身),一切都会正常工作(即使我使用外部 IP 地址)。如果我运行服务器程序,然后尝试端口检查服务,它会显示“客户端已连接”。
如何正确配置两台计算机?