介绍
这篇文章将为大家详细讲解有关使用java怎么实现一个多人聊天室功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
服务器。java
//server.java package 插座; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; import java.util.ArrayList; import 并不知道; import java.util.Scanner; public class  server implements Runnable {//,服务端 static 才能;List< Socket>, socketList=new ArrayList();//,读取的 static 才能Socket Socket =,空; static 才能ServerSocket ServerSocket =,空; public 才能;服务器(),{//,构造方法 ,,,try { ,,,,,serverSocket =, new 考察(9999); ,,,},catch (IOException e), { ,,,,,e.printStackTrace (); ,,,} ,,} public 才能;static  void main (String [], args), { ,,,Scanner input =, new 扫描仪(系统); ,,,System.out.println(“* * * * * * * * * * * *服务端* * * * * * * * * * * * *“); ,,,server t =, new 服务器(); ,,,int count =, 0; ,,,while (真实),{,,,, ,,,,,try {//,,,,,,,System.out.println(“端口9999等待被连接……“); ,,,,,,,socket =, serverSocket.accept (); ,,,,,,,计数+ +; ,,,,,,,System.out.println(“第“,+,count +,“个客户已连接“); ,,,,,,,socketList.add(插座); ,,,,,},catch (IOException e), { ,,,,,,,//,TODO Auto-generated catch 块 ,,,,,,,e.printStackTrace (); ,,,,,} ,,,,,Print p =, new 打印(插座); ,,,,,Thread read =, new 线程(t); ,,,,,Thread print =, new 线程(p); ,,,,,read.start (); ,,,,,print.start (); ,,,} ,,} @Override才能 public 才能;void 运行(),{ ,,,//,重写运行方法 ,,,try { ,,,,,thread . sleep (1000); ,,,,,BufferedReader 拷贝=,new BufferedReader (new InputStreamReader(套接字 ,,,,,,,,,.getInputStream ())); ,,,,,while (真实),{ ,,,,,,,String jieshou =, in.readLine (); ,,,,,,,System.out.println (, jieshou); ,,,,,,,for (int 小姐:=,0;,小姐:& lt;, socketList.size();,我+ +),{ ,,,,,,,,,Socket 套接字=socketList.get(我); ,,,,,,,,,PrintWriter out =, new PrintWriter (socket.getOutputStream ()); ,,,,,,,,,if (套接字!=this.socket), { ,,,,,,,,,,,out.println (jieshou); ,,,,,,,,,其他}{ ,,,,,,,,,,,out.println(“(你)“+ jieshou); ,,,,,,,,,} ,,,,,,,,,out.flush (); ,,,,,,,} ,,,,,} ,,,},catch (Exception e), { ,,,,,e.printStackTrace (); ,,,} ,,} } class Print  implements Runnable  { static 才能;List< Socket>, socketList=new ArrayList (); Scanner 才能;input =, new 扫描仪(系统); public 才能打印(Socket s),{//,构造方法 ,,,try { ,,,,,socketList.add(年代); ,,,},catch (Exception e), { ,,,,,e.printStackTrace (); null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null 使用java怎么实现一个多人聊天室功能