我有一个由 5 台机器组成的网络。一台机器称为领导者(服务器),另一台称为跟随者(客户端)。我在领导者端使用 ServerSocket(使其成为服务器)并在追随者端使用 Socket 使其成为客户端。这个结构运行得很好。
现在,我想向上述网络添加新的更改。我想允许关注者(客户)向其他关注者发送消息。我怎样才能实现这一目标?
是否可以通过让每个follower(客户端)都有Socket(与leader连接)和ServerSocket(与follower连接)来实现?
期待您的回复。
最佳答案
领导者可以拥有追随者列表(每个追随者可以有一个唯一的ID)。如果一个follower需要将消息传递给另一个follower,他需要将数据传递给Leader,然后Leader可以将其发布给预期的follower,或者领导者可以将其广播给所有follower。 Leader 可以为它收到的每个连接运行不同的线程,并维护一个用于广播的客户端池。
关于java - 一台机器可以使用Java中的socket同时充当客户端和服务器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23516903/