当前位置: 首页 > 知识库问答 >
问题:

Java-在客户端识别来自服务器的发送到一个和发送到所有的消息

邹晟睿
2023-03-14

我需要实现的是一种机制,它在某些时候向所有当前连接的客户端发送消息。为此,我将所有输出流存储到一个ArrayList 中,允许将相同的消息发送到所有客户端。

我纠结的是:

当接收到一个对客户机是单独的消息时,客户机GUI会相应地更新(只能发送选定数量的消息,因此只有选定数量的可能的来自服务器的响应,由客户机端if语句处理)。但是,当客户机接收到发送给所有客户机的消息时,我希望客户机以不同的方式更新GUI。

标记

共有1个答案

邵旺
2023-03-14
     When your clients connect to the server, your server creates a Socket for it, here it is Socket socket = ss.accept();, your socket variable will be holding that client.

现在,如果您一直将客户端套接字添加到while循环中的arraylist中,那么您将会有一个与服务器主动连接的客户端列表,如下所示:

接受后:

  clients = new ArrayList<DataOutputStream>();
  Socket socket = ss.accept();
  os = new DataOutputStream(socket.getOutputStream());
  clients.add(os);

现在,由于在clients arraylist中有了所有客户端,您可以循环访问它,或者使用某种协议定义读取后应该将数据发送给哪个客户端

 类似资料:
  • 我正在创建我的产品,并与这个问题。有一天,我设置了Socket.io,一切都很好。第二天,我将服务器和客户端从http迁移到HTTPS。迁移后客户端和服务器端仍然连接,但不能从客户端发射到服务器,从服务器发射到客户端。 我的ssl证书位于和中,它们加载正确。运行在上的服务器 我的示例react组件。我的react应用程序运行在上。HTTPS连接良好,工作良好。 我该怎么办?也许我在中错误地使用了s

  • 这是我的代码: 服务器: 客户: 它可以正常工作,除了我希望当服务器向客户端发送“消息”“|MOD”时,我希望服务器将其发送给所有客户端,我该怎么做? 我是Java新手,但不是编码新手,所以如果我做错了一些可以做得更容易或更好的东西,请帮助我。 请帮忙。 非常感谢。

  • 问题内容: 所以现在,我正在制作一个基于客户端服务器应用程序的多线程。在服务器端,我为接受的每个连接创建了一个线程。 在线程类中,我创建了一种将命令发送到客户端的方法。我只想要的是如何将参数发送到所有正在运行的客户端?为简单起见,我只想使此服务器向所有连接的客户端发送消息。 我已经阅读了这篇文章,并从此链接中找到方法。但是,当我尝试使用自己的代码时,中没有类似的方法。 好的,这是我的服务器和线程示

  • 我正在试用netty,但当我响应时,客户端似乎没有收到我的消息。我使用Java NIO和socketChannel编写了相同的代码,看起来很好。我这样说是因为客户机会记录我发送的任何内容。下面是我的服务器 下面是我的服务器处理程序 } 示例响应: 我正在我的盒子上做一个tcpdump,我看到了我在电线上发送的内容,所以我不确定我做错了什么。而且,几分钟后,这会被记录下来,我不确定我在服务器或服务器

  • 问题内容: 首先,我将请求的文件从服务器发送到客户端,然后再将文件的计算出的sha从服务器发送到客户端,以便客户端可以检查发送文件和接收文件中的sha是相同的。 我设法发送了文件,但是当我尝试也发送sha(这是一个变量)时,我收到一个错误消息(我相信sha也已添加到文件内容中) 如何分别发送? 和客户: 问题答案: 您应该重新设计应用程序的工作方式: 首先,服务器将文件大小发送给客户端 客户端读取

  • 我正在寻找一些关于如何实现一个能够将音频发送到服务器的Java客户端的链接/源代码/教程(见下文)。它将能够发送一个音频文件,然后由服务器接收并通过计算机扬声器播放。 我还想问,对于这种情况,使用UDP或TCP服务器会更好吗?因为我将开发一个android应用程序,它可以录制声音,然后通过电脑扬声器将声音发送到服务器进行实时播放。