假设我们有聊天应用程序,它允许我们拥有联系人,并且我们可以与联系人中的任何人聊天。我们的应用程序在接收消息时应该表现得像服务器,在发送消息时表现得像客户端。 在Java中,当我们想要建立TCP连接客户端时,我们使用套接字:
Socket client = new Socket(hostIPAddress, portNumber);
现在,我已经学会了使用本地计算机作为服务器来使用套接字,但是为了使聊天应用程序实用,它应该允许两个不同设备之间的通信。
现在,客户端必须拥有我们想要通信的其他设备的 IP 地址。我是否应该维护聊天应用程序中所有联系人的 IP 地址列表。此外,IP 地址可能是动态的并且可能会不时改变。如何解决这样的问题呢?直观上,IP 地址似乎不起作用。
编辑:
目的是建立点对点连接,而不是使用集中式服务器。我想制作一个简单的应用程序,没有太多复杂性。
最佳答案
您将需要使用一种称为 WebSockets 的技术。它是专门针对您当前的用例而构建的。 请参阅https://www.baeldung.com/java-websockets了解更多信息。
关于java - 如何保持Socket连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53705010/