如何向Java中的所有线程化客户端发送数据?

如何向Java中的所有线程化客户端发送数据?,java,multithreading,sockets,chat,serversocket,Java,Multithreading,Sockets,Chat,Serversocket,我对Java相当陌生,我正在尝试构建一个非常基本的Java中继服务器,它将消息从客户端发送到所有连接的客户端。我已经知道了如何执行线程以允许多个连接,但是我很难知道如何将传入消息回送到所有连接的套接字线程 以下是我的Main.java源代码: 以下是我的SocketThread.java源代码: 基本上,我想知道当前编码设置的最简单方法,以便能够将传入消息从一个客户端发送到所有其他客户端。我目前正在使用Windows telnet客户端作为使用此服务器的客户端。一个简单的方法是保留一个客户端

我对Java相当陌生,我正在尝试构建一个非常基本的Java中继服务器,它将消息从客户端发送到所有连接的客户端。我已经知道了如何执行线程以允许多个连接,但是我很难知道如何将传入消息回送到所有连接的套接字线程

以下是我的Main.java源代码:

以下是我的SocketThread.java源代码:


基本上,我想知道当前编码设置的最简单方法,以便能够将传入消息从一个客户端发送到所有其他客户端。我目前正在使用Windows telnet客户端作为使用此服务器的客户端。

一个简单的方法是保留一个客户端集合,例如作为映射或集合。要向所有客户机发送消息,请遍历客户机的链接列表,并在每个客户机的发送队列上放置对消息的引用。当然,您需要通过适当的线程间同步来保护这些结构。

一个简单的方法是保留一个客户端集合,例如作为映射或集合。要向所有客户机发送消息,请遍历客户机的链接列表,并在每个客户机的发送队列上放置对消息的引用。当然,您需要通过适当的线程间同步来保护这些结构。

我不太确定如何做到这一点。我对Java的了解是相当新的,但我知道基础知识。我现在正在更多地学习所有函数和库。你能给我看一些代码或例子,说明如何做你所说的吗?感谢您的帮助。在您最喜欢的搜索引擎中输入“多线程java服务器”。然后将每个客户添加到共享地图或集合中。谢谢,我想我在@zgillis找到了一个不错的客户:@zgillis查看我在这里的帖子应该真的有用。我不太确定如何做到这一点。我对Java的了解是相当新的,但我知道基础知识。我现在正在更多地学习所有函数和库。你能给我看一些代码或例子,说明如何做你所说的吗?感谢您的帮助。在您最喜欢的搜索引擎中输入“多线程java服务器”。然后将每个客户机添加到共享地图或集合中。谢谢,我想我在@zgillis找到了一个不错的客户机。请看我在这里的帖子,应该真的有用。