如何使用 Socket 将客户端连接到 Java 中的服务器
How can I connect a client to a server in Java using Socket
我正在尝试编写一个客户端-服务器应用程序,将作为客户端的 PC 连接到作为服务器的我的 PC。
当我在客户端输入 127.0.0.1 作为服务器 IP 时,在我的 PC 中,它工作正常,所以这不是编码问题。此外,当我输入我的 IP(从 kali 中的 nslookup
命令获取)并连接到互联网时,客户端正确连接到服务器。
但是当我在其他 PC 上打开我的客户端应用程序并在我的 PC 上打开服务器应用程序时,客户端将抛出“连接超时”异常。
我试过在客户端(Windows 10)关闭防火墙,但在服务器端没有。
这是我的代码:
服务器:
ServerSocket server = new ServerSocket(SERVER_PORT);
Socket client = server.accept();
//Some codes
客户:
Socket server = new Socket(SERVER_IP, SERVER_PORT);
为了更好的回答,我们需要您提供更多信息。但是从这个 post,这是我能做出的最佳答案。您没有解释您的目标是什么,您是想在本地网络内建立连接,还是想通过互联网连接到 'outside world'。
如果您想让两台 PC 在本地网络中通信,那么您必须确保它们在同一网络上,或者更准确地说,它们连接到同一路由器。您必须将您的服务器 IP 地址设置为本地网络上的 IP 地址,这可能类似于 192.168.xxx.xxx
如果你想通过互联网进行通信,我建议先在本地网络中进行测试,如前所述。如果它在本地网络上工作,那么你必须处理防火墙、路由器设置等,以使其在互联网上也能工作。
这个也看看
Use Socket-communication over different networks
我正在尝试编写一个客户端-服务器应用程序,将作为客户端的 PC 连接到作为服务器的我的 PC。
当我在客户端输入 127.0.0.1 作为服务器 IP 时,在我的 PC 中,它工作正常,所以这不是编码问题。此外,当我输入我的 IP(从 kali 中的 nslookup
命令获取)并连接到互联网时,客户端正确连接到服务器。
但是当我在其他 PC 上打开我的客户端应用程序并在我的 PC 上打开服务器应用程序时,客户端将抛出“连接超时”异常。
我试过在客户端(Windows 10)关闭防火墙,但在服务器端没有。
这是我的代码:
服务器:
ServerSocket server = new ServerSocket(SERVER_PORT);
Socket client = server.accept();
//Some codes
客户:
Socket server = new Socket(SERVER_IP, SERVER_PORT);
为了更好的回答,我们需要您提供更多信息。但是从这个 post,这是我能做出的最佳答案。您没有解释您的目标是什么,您是想在本地网络内建立连接,还是想通过互联网连接到 'outside world'。
如果您想让两台 PC 在本地网络中通信,那么您必须确保它们在同一网络上,或者更准确地说,它们连接到同一路由器。您必须将您的服务器 IP 地址设置为本地网络上的 IP 地址,这可能类似于 192.168.xxx.xxx
如果你想通过互联网进行通信,我建议先在本地网络中进行测试,如前所述。如果它在本地网络上工作,那么你必须处理防火墙、路由器设置等,以使其在互联网上也能工作。
这个也看看 Use Socket-communication over different networks