java - 如何维护Socket连接?
问题描述
假设我们有聊天应用程序,它允许我们拥有联系人,并且我们可以与联系人中的任何人聊天。我们的应用程序在接收消息时应该表现得像服务器,在发送消息时应该表现得像客户端。在 Java 中,当我们想要建立 TCP 连接客户端时,我们使用套接字:
Socket client = new Socket(hostIPAddress, portNumber);
现在,我已经学会了将本地机器用作服务器来使用套接字,但要使聊天应用程序实用,它应该允许两个不同设备的黑白通信。
现在,客户端必须拥有我们要与之通信的其他设备的 IP 地址。我是否应该维护聊天应用程序中所有联系人的 IP 地址列表。此外,IP 地址可能是动态的,并且可能会不时更改。如何解决这样的问题?直观地说,IP 地址似乎不起作用。
编辑:
目的是建立对等连接,而不是使用集中式服务器。我想做一个没有太多复杂性的简单应用程序。
解决方案
您将需要使用一种称为 WebSockets 的技术。它专为您目前的用例而构建。有关更多信息,请参阅https://www.baeldung.com/java-websockets。
推荐阅读
- security - 在允许的图像上报告内容安全策略违规
- python - 关于操作 RRD/XML 文件以在 windows 上与 pandas/python 一起使用的建议
- python - 使用前一行的值根据 groupby 在 df 中插入行
- apache-kafka - kafka connect kinesis 连接器无法启动
- sql-server - Equal 运算符上的 SQL SERVER 和 NULL 值
- python - 为什么 numba 会破坏此功能?
- c# - 无法使用 c# 批准对 WSUS 中的组的更新
- python - 如何为每个班级和小组生成单独的小提琴图
- flutter - Flutter Camera 录制的视频与浏览器不兼容 - 如何转换为 .mp4?
- docker - docker-compose 服务多个私有注册表