欢迎来到天天文库
浏览记录
ID:41830418
大小:414.24 KB
页数:30页
时间:2019-09-03
《[理学]局域网内的多功能聊天室-java》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、局域网内的多功能聊天室源代码:importjava.net.*;importjava.mil.*;importjava.io.*;publicclassChatServer{staticfinalintDEFAULT_PORT=6000;staticServerSocketserverSocket;staticVectorconnections;//连接staticVectorclients;//发送信息给所有的人publicstaticvoidsendAll
2、(Strings){if(connections!=null){for(Enumeratione=connections.elements();//Enumerationil时的接口,//可以用foreach循坏e.hasMoreElements();){try{PrintWriterpw=newPrintWriter(((Socket)e.nextElement()).getOutputStream());pw.println(s);pw.flush();}catch(IOExceptionex)
3、{ex.printStackTrace();)))System.out.println(s);}〃发送信息给单独一个人publicstaticbooleansendOne(Stringname,Stringmsg){if(clients!=null){for(Enumeratione=clients.elements();e.hasMoreElements();){ClientProccp=(ClientProc)e.nextElement();if((cp.getName()).equaIs(na
4、me)){try{PrintWriterpw=newPrintWriter((cp.getSocket()).getOutputStreamO);pw.println(msg);pw.flush();returntrue;//返回值为真,找到了这个人可以进行聊天}catch(lOExceptionioe){ioe.printStackTrace();}}}}returnfalse;//没有找到这个人,应该是此人已经退出了聊天室}publicstaticvoidaddConnection(Socket
5、s,ClientProccp){if(connections==null){connections=newVector();}connections.addElement(s);if(clients==null){clients=newVector();)clients.addElement(cp);}publicstaticvoiddeleteConnection(Sockets,ClientProccp)throwsIOException{if(conne
6、ctions!=null){connections.removeElement(s);s.close();jif(clients!=null){clients.removeElement(cp);})publicstaticVectorgetClients(){returnclients;}/*服务器端在此启动*/publicstaticvoidmain(String[]arg){intport=DEFAULT_PORT;try{serverSocket=newServerSocket(port);
7、System.out.printlnC1服务器已经启动,正在监听}catch(IOExceptione){System.out.printlnC异常J;System.err.println(e);System.exit(l);}while(true){//死循环try{Socketcs=serverSocket.accept();ClientProccp=newClientProc(cs);//启动一个用户线程Threadct=newThread(cp);//Threadar=newThread(c
8、t.)ct.start();addConnection(cs,cp);}catch(IOExceptione){System.err.println(e);}}}}importjava.net.*;importjava.utiL*;importjava.io.*;classClientProcimplementsRunnable{/*为某个用户服务的一个用户线程*/Sockets;BufferedReaderin;PrintWriterout;privateStrin
此文档下载收益归作者所有