栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用套接字的客户端-服务器-客户端通信

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用套接字的客户端-服务器-客户端通信

当您的客户端连接到服务器时,您的服务器会

Socket
为其创建一个,这里是
Socket socket =ss.accept();
,您的套接字变量将保存该客户端。

现在,如果你只是不断添加客户端套接字连接到

arraylist
你的
while
循环,你将与你的服务器一样主动连接客户端列表:

接受后:

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

现在,当您在该

clients
arraylist中拥有所有客户端时,就可以遍历它,或者使用某种协议来定义读取后应该发送数据的客户端。

Iterator<DataOutputStream> it = clients.iterator();while ((message = reader.readLine()) != null) { //reading        while (it.hasNext()) {        try { DataOutputStream oss = it.next(); oss.write(message);//writing oss.flush();        }        catch (Exception e) { }     } }

这将遍历arraylist中所有可用的客户端并发送给所有客户端。您可以定义仅发送给某些人的方式。

例如:维护一个

ActiveClients

arraylist
并可能与某个GUI交互,或者可以定义要发送消息的所有客户端。然后仅将这些客户端的outputStreams添加到
ActiveClients

ActiveClients.add(clients.get(2));

或删除它们(如果您不想要它们)。

ActiveClients.remove(clients.get(2));

现在只需循环遍历

arraylist
即可发送上述数据。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/573982.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号