我正在尝试从连接到不同路由器的计算机连接到我家的一台计算机上的 ServerSocket。我已经搜索了几个小时,并且已经设置了端口转发。我已经尝试使用我的公共(public) IP 地址和端口号创建 Socket,但没有成功。我的问题是:知道我的公共(public) IP 地址、服务器的本地 IP 地址和端口号,我如何创建一个 Socket 以便它正确连接到服务器?
这些是我尝试过的构造函数,但没有成功:
new Socket(my_public_ip_address, port);
new Socket(my_local_ip_address, port); <- this one works only if both computers are connected to the same router
提前致谢!
最佳答案
首先:如果您不走运(像我一样),您将无法与您的服务器计算机建立连接。 (在我的情况下,大学网络会阻止所有传入连接)。
因此,也许您的服务器不是问题,而是路由器的路径(连接)。
在您的情况下,我首先会尝试从您的客户端开始跟踪您的服务器。 Traceroute 至少应该到达您的路由器。 (我不擅长计算机网络,所以请纠正我,如果我弄错了)
关于java - 从不同路由器上的客户端连接到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39861104/