在套接字编程中,我可以连接到同一台电脑上的服务器套接字,例如127.0.0.1,但是当我的远程位置的朋友运行服务器程序并我尝试连接到它,它显示Connectiontimedout错误。在Java中创建远程SocketServer时发生Connectiontimedout错误
我正在给ip地址和端口号。
我需要添加额外的东西吗?
在套接字编程中,我可以连接到同一台电脑上的服务器套接字,例如127.0.0.1,但是当我的远程位置的朋友运行服务器程序并我尝试连接到它,它显示Connectiontimedout错误。在Java中创建远程SocketServer时发生Connectiontimedout错误
我正在给ip地址和端口号。
我需要添加额外的东西吗?
为了远程访问服务器,您的朋友应该将服务器绑定到可从您的计算机访问的IP地址。如果你朋友的ISP或wifi路由器为他分配了private IP address,情况就不会如此。
在这种情况下,你们都可以加入Virtual Private Network以在同一个网络上。其他选项是port forwarding。如果你们两个都可以访问一台普通的机器,那么你的朋友可以将一个端口从普通机器转发到应用服务器的端口到他的机器。现在,您可以通过访问通用计算机上转发端口的套接字来访问您的朋友应用程序服务器。
如果你们两个都在同一个网络上,那么服务器可能只在127.0.0.1接口上进行监听。
在您和您的朋友之间的路径中,可能还有其他中间盒会执行NAT(网络地址转换)。这些通常会阻止通过Internet启动TCP或其他连接。
请试着在同一个局域网(局域网)上与你们两个人做同样的事情,或者用Hamachi VPN来模拟局域网上的局域网。
另一种可能是在您的位置配置您的路由器/ NAT以将您的应用程序的端口转发到您的机器的IP地址。在这种情况下,确保给你的朋友你的公共IP(你可以用http://checkip.dyndns.org/得到)。