首页 > 解决方案 > 如何维护Socket连接?

问题描述

假设我们有聊天应用程序,它允许我们拥有联系人,并且我们可以与联系人中的任何人聊天。我们的应用程序在接收消息时应该表现得像服务器,在发送消息时应该表现得像客户端。在 Java 中,当我们想要建立 TCP 连接客户端时,我们使用套接字:

Socket client = new Socket(hostIPAddress, portNumber);

现在,我已经学会了将本地机器用作服务器来使用套接字,但要使聊天应用程序实用,它应该允许两个不同设备的黑白通信。

现在,客户端必须拥有我们要与之通信的其他设备的 IP 地址。我是否应该维护聊天应用程序中所有联系人的 IP 地址列表。此外,IP 地址可能是动态的,并且可能会不时更改。如何解决这样的问题?直观地说,IP 地址似乎不起作用。

编辑:

目的是建立对等连接,而不是使用集中式服务器。我想做一个没有太多复杂性的简单应用程序。

标签: javasocketstcpchatp2p

解决方案


您将需要使用一种称为 WebSockets 的技术。它专为您目前的用例而构建。有关更多信息,请参阅https://www.baeldung.com/java-websockets


推荐阅读