我正在尝试通过连接到不同路由器的计算机连接到我家的一台计算机上的ServerSocket。我已经谷歌搜索了几个小时,已经设置了端口转发。我已经尝试使用我的公共IP地址和端口号创建Socket,但没有成功。我的问题是:了解我的公共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
提前致谢!
答案 0 :(得分:0)
首先:如果你运气不好(像我一样),你将无法建立与服务器计算机的连接。 (就我而言,大学网络会阻止所有传入的连接)。
所以也许你的服务器不是问题,而是路由器的路径(连接)。
在您的情况下,我首先尝试从您的客户端开始Traceroute您的服务器。 Traceroute至少应该到达您的路由器。 (我对计算机网络不好,所以请纠正我,如果我弄错的话)
答案 1 :(得分:0)
让我们说
您必须执行以下操作:
我知道你提到你做了一个端口转发等等,但请检查上面的步骤,也许你错过了一些。如果它不起作用,请检查防火墙并确保所有已使用的端口都已打开并调查所有连接的节点(即X正在发送请求,publicipX发送请求,publicipY获取它并确保Y得到它)。 / p>