QQ群聊代码大全(群聊天代码大全)

健康新闻 2023-05-01 10:09健康生活www.xingbingw.cn

  QQ群聊代码大全(群聊天代码大全),新营销网红网本栏目通过数据整理汇集了QQ群聊代码大全(群聊天代码大全)相关信息,下面一起看看。

  多人聊天室原理图

  源码工具类

  该类用于关闭各种流。

   public class close util { public static void close all(close able.Closeable){ for(Closeable c : Closeable){ if(c!=null){ try { c . close();} catch(io异常e){ e . printstacktrace();}}}}}服务器

  服务器端创建一个服务器对象通过接受()监听是否有传输控制协议连接,有一个储存窝对象的将连接进来的对象储存到目录中,服务器将消息进行转发。

   //服务器公共类服务器{//存储每一个连接进来的客户端公共静态列表我的频道列表=new ArrayList();公共静态void main(String[] args)引发异常{//创建服务器对象服务器套接字服务器套接字=新服务器套接字(9999);while (true){//连接进来的客户端套接字客户端=服务器套接字。接受();系统。出去。println(客户端。getine地址()进入聊天室);我的频道我的频道=新的我的频道(客户端);列表。添加(我的频道);新线程(我的频道).start();}}}消息转发类

  具体的消息转发实现类,将信息发给除发送消息以外的其他客户端。

   //用于信息转发公共类我的频道实现runnable { private data inputstream dis;私有数据输出流dos私有布尔标志=true public my channel(Socket Socket){ try { dis=new data inputstream(Socket。getinputstream());dos=新数据输出流(套接字。获取输出流());} catch(io异常e){ flag=false;关闭.CloseAll(dis,dos);}}//接收数据的私有字符串receive(){ String str=" ";请尝试{ str=dis。读取utf();} catch(io异常e){ flag=false;关闭.CloseAll(dis,dos);服务器。列表。去掉(这个);}返回str}//发送数据的private void send(String str){ try { if(str!=null str.length()!=0){ dos。写utf(str);dos。flush();}}catch(异常异常){ flag=falseCloseUtil .CloseAll(dos,dis);服务器。列表。去掉(这个);}}//转发消息的private void sento other(){ String str=this。receive();list my channel list=server . list for(我的频道其他 list){ if(other==list){ continue;//不发送信息给自己}//将消息发送给其他客户端其他。send(str);} } @ override public void run(){ while(flag){ sento other();}}}发送信息类用于从键盘上获取数据然后将数据发送出去

  公共类发送实现可运行的{//从键盘上获取数据私人BufferedReader br私有数据输出流dos私有布尔标志=truepublic Send(){ br=新缓冲读取器(新输入流读取器(系统。in));}公共发送(套接字套接字){ this();请尝试{ dos=新数据输出流(套接字。获取输出流());}catch(异常e){ flag=false;关闭.CloseAll(dos,socket);e . printstacktrace();} }私有字符串getMessage(){ String str= ;请尝试{ str=br。readline();} catch(io异常e){ flag=false;关闭.全部关闭(br);}返回str } private void send(String str){ try { dos。写utf(str);dos。flush();} catch(io异常e){ flag=false;关闭.关闭所有(dos);e . printstacktrace();} } @覆盖public void run(){ while(flag){ this。send(getMessage());}}}信息接收类

  公共类接收实现可运行的{//接受数据流私有数据输入流阴间私有布尔标志=truepublic Receive(Socket套接字){ try { dis=new data inputstream(Socket。getinputstream());}catch(异常e){ flag=false;关闭.CloseAll(dis,socket);} }私有字符串getMessage(){ String str= ;请尝试{ str=dis。读取utf();} catch(io异常e){ flag=false;关闭.关闭所有(dis);e . printstacktrace();}返回str} @覆盖public void run(){ while(flag){ system。出去。println(这个。getmessage());}}}客户端

  公共类客户端{公共静态void main(String[]args)抛出异常{ Socket Socket=新套接字(inet地址。getlocalhost(),9999);发送发送=新发送(插座);接收接收=新接收(插座);新线程(发送)。start();新线程(接收)。start();}}先将服务器启动然后启动客户端测试结果如下

  有喜欢的小伙伴可以自己拿去玩,代码复制直接有效。

  相关文章什么时候万圣节(万圣节是什么时候?)

  切割的快捷键是什么(电脑常用快捷键汇总)

  嫦娥奔月的文言文(《嫦娥奔月》原文及翻译)

  小额投资加盟(一万块钱就可以做的小额投资项目)

  死亡的意义(死亡(分析))

  鲅鱼饺子的做法(这样做出来的鲅鱼馅好吃不腥!)

  一只蚱蜢有几条腿(一只蚱蜢有四条腿)

  有哪些环保项目(投资30万元的五个环保项目)

  什么是麦芽糖(烘焙材料提示3354“麦芽糖”)

  一汤匙(一汤匙,一茶匙)多少钱?)

  蒸鲽鱼(蒸鲽鱼的常见做法)

  害怕宋太祖的历史学家(宋太祖会害怕一个小小的历史学家?)

  更多QQ群聊代码大全(群聊天代码大全)相关信息请关注本文章,本文仅仅做为展示!

Copyright@2015-2025 www.xingbingw.cn 性病网版板所有