繁体   English   中英

如何使用 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命令获取)并连接到 inte.net 时,客户端会正确连接到服务器。

但是当我在其他 PC 中打开我的客户端应用程序并在我的 PC 中打开服务器应用程序时,客户端将抛出“连接超时”异常。

我试过在客户端(Windows 10)关闭防火墙,但没有从服务器端关闭。

这是我的代码:

服务器:

ServerSocket server = new ServerSocket(SERVER_PORT);

Socket client = server.accept();

//Some codes

客户:

Socket server = new Socket(SERVER_IP, SERVER_PORT);

为了获得更好的答案,我们需要您提供更多信息。 但是从你发布的内容来看,这是我能做出的最佳答案。 你没有解释你的目标是什么,你是想在 local.network 内部建立连接,还是想通过 inte.net 连接到“外部世界”。

如果你想让两台 PC 在 local.network 内通信,那么你必须确保它们在 same.network 上,或者更准确地说,它们连接到同一个路由器。 您必须将您的服务器 IP 地址设置为您 local.network 上的 IP 地址,这可能类似于 192.168.xxx.xxx

如果你想通过 inte.net 进行通信,我建议先在 local.network 中进行测试,如前所述。 如果它在 local.network 上工作,那么你必须处理防火墙、路由器设置等,以使其在 inte.net 上也能工作。

也看看这个Use Socket-communication over different.networks

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM