Server:packageMuliChat;;;;.ServerSocket;.Socket;;;;;;lassServerextendsJFrame{ privateJTextAreajTextArea=newJTextArea(); publicstaticArrayList<Socket>socketList=newArrayList<Socket>();//ArrayList管理socket对象 publicstaticvoidmain(String[]args){ //TODOAuto-generatedmethodstub newServer(); } publicServer(){ //ServerUI部分 setLayout(newBorderLayout()); add(newJScrollPane(jTextArea),); setTitle("server"); setSize(500,300); setDefaultCloseOperation(); setVisible(true); try{ ServerSocketserverSocket=newServerSocket(8000); ("Serverstartedat:"+newDate()+'\n'); intclientNum=1; while(true){//循环监听每一个连接到服务器端的client,并创建线程 Socketsocket=(); ("Client"+clientNum+"connected"+'\n'); (socket);//socket监听对象添加进list HandleSessiontask=newHandleSession(socket,socketList); newThread(task).start();//为每一个client各启动一次线程 clientNum++; } }catch(Exceptione){ //TODO:handleexception } } /** *内部类线程task * ****@authorAlex * */ classHandleSessionimplementsRunnable{ Socketclient; ArrayList<Socket>clients; DataInputStreamfromClient; DataOutputStreamtoClient; //构造函数 publicHandleSession(Socketclient,ArrayList<Socket>clien
Java多客户端聊天 来自淘豆网m.daumloan.com转载请标明出处.