我对Java很新,我正在尝试构建一个非常基本的Java Relay服务器,它将消息从客户端发送到所有连接的客户端。我已经想出如何进行线程以允许多个连接,但我无法弄清楚如何将传入的消息回显给所有连接的套接字线程。
这是我的Main.java来源:
这是我的SocketThread.java来源:
基本上,我想知道当前编码设置的最简单方法是能够将传入消息从一个客户端发送到所有其他客户端。我目前正在使用Windows telnet客户端作为使用此服务器的客户端。
答案 0 :(得分:1)
一个简单的方法是保留一组客户端,比如地图或集合。要向所有客户端发送消息,您将遍历客户端的链接列表,并在每个客户端的发送队列上引用该消息。当然,您需要通过适当的线程间同步来保护这些结构。