微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用Socket

如何解决如何使用Socket

我正在尝试编写一个客户端服务器应用程序,以将PC作为客户端连接到PC作为服务器。 当我在PC上输入127.0.0.1作为客户端的服务器IP时,它可以正常工作,所以这不是编码问题。同样,当我输入我的IP(从kali中的nslookup命令获得它)并连接到Internet时,客户端会正确连接到服务器。

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

我曾尝试关闭客户端(Windows 10)的防火墙,而不是关闭服务器端的防火墙。

这是我的代码

服务器:

ServerSocket server = new ServerSocket(SERVER_PORT);

Socket client = server.accept();

//Some codes

客户:

Socket server = new Socket(SERVER_IP,SERVER_PORT);

解决方法

为了获得更好的答案,我们需要您提供更多信息。但是从您发布的内容来看,这是我能做出的最佳答案。您没有说明目标是什么,是否要在局域网内建立连接,还是要通过Internet与“外部世界”建立连接。

如果要使两台PC在本地网络内通信,则必须确保它们在同一网络上或更准确地说它们已连接到同一路由器。您必须将服务器IP地址设置为本地网络上的IP地址,可能类似于192.168.xxx.xxx

如果您想通过Internet进行通信,我建议您先在本地网络中进行测试,如前所述。如果它可以在本地网络上运行,则必须处理防火墙,路由器设置等,使其也可以在Internet上运行。

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。