java - 如何使用 Java 网络在多台计算机之间连接和发送数据

标签 java networking

我是学习 Java 网络的初学者。我想连接 3 台或更多计算机。一个用于服务器,其他(例如 A 和 B)用于客户端。但我想连接

  1. A 到服务器,反之亦然
  2. B 到服务器,反之亦然
  3. A 到 B,反之亦然

首先我想从A或B发送消息到服务器,服务器将存储的数据发送到发送者(例如A),发送者(A)将连接到B。然后A和B将确认消息,A和B将发送数据相互转换。但这种情况可以同时发生在A和B上。

但是我刚刚学习了使用服务器套接字和套接字连接一台服务器和一个客户端的简单代码。所有 3 台计算机都需要同时充当服务器和客户端吗?还有其他方式在客户端之间进行连接吗?我不知道如何考虑解决计算机之间的数据冲突。如果有新客户增加,我也希望感到满意。如果有人知道解决上述问题(包括数据冲突),请帮助我为服务器和客户端提供简单的示例代码。

最佳答案

听起来您正在寻找某种类型的群组交流。这可以使用 IP 多播来完成,然后非常方便的 Java 库是 JGroups (增加可靠性和团体成员资格)。如果您不介意抽象 IP,您可能需要查看 Java Messaging Service ,它是许多消息传递实现的标准接口(interface),为您提供发布-订阅和队列类型通信的可靠性和事务。

关于java - 如何使用 Java 网络在多台计算机之间连接和发送数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1450629/

相关文章:

java - 在 Android 上打开/关闭网络设置

c - 在不同的机器上运行 UDP 客户端和服务器

java - 是否可以仅使用 1 个 UDPSocket 在同一端口上发送/接收?

android - (Android、iOS、Windows、Linux)服务器轮询、推送、实现服务器

Java 类型级别注解和私有(private)成员可见性

Docker Container 在混杂模式下的网络接口(interface)

java - 如何重新排列字符以使单词存在于字典中?

java - 您将如何使用 JAXB 解码以下内容

java - 尝试在linux中设置类路径

Katalon-Studio 中的 Java 脚本