假设我们有聊天应用程序,该应用程序允许我们拥有联系人,并且我们可以与联系人中的任何人聊天。我们的应用程序在接收消息时应表现为服务器,而在发送消息时应表现为客户端。 在Java中,当我们想建立一个TCP连接客户端时,我们将套接字用作:
Socket client = new Socket(hostIPAddress, portNumber);
现在,我已经学会了使用本地计算机作为服务器来使用套接字,但是对于实用的聊天应用程序,应该允许黑白两种不同的设备进行通讯。
现在,客户端必须具有我们要与之通信的另一台设备的IP地址。我是否应该维护聊天应用程序中所有联系人的IP地址列表。同样,IP地址可能是动态的,并且可能会不时更改。如何解决这个问题?直观上来说,IP地址似乎无效。
编辑:
目标是建立对等连接,而不是使用集中式服务器。我想做一个简单的应用程序,没有太多的麻烦。
答案 0 :(得分:1)
您将需要使用一种称为WebSockets的技术。它是针对您当前的用例而专门构建的。 有关更多信息,请参见https://www.baeldung.com/java-websockets。