この記事では、参照のためにTCPSocketチャットルーム機能を実装するために、Javaの関連コードを共有しています。特定のコンテンツは次のとおりです
1.Tcpserver.java
Import Java.net。 Private Serversocket MyServer = null;プライベートリスト<Socket>クライアント= new ArrayList <Socket>(); Private Executorservice mexecutorservice; public tcpserver(){try {myserver = new Serversocket(serverport); mexecutorservice = executors.newcachedthreadpool(); system.out.println( "start:");ソケットmysocket = null; while(true){mysocket = myserver.accept(); clients.add(mysocket); mexecutorservice.execute(new ThreadServer(MySocket)); }} catch(例外e){e.printstacktrace(); System.Exit(0); }} class threadserverはrunnable {private socket msocket = null; private bufferedreader in = null;プライベートプリントライターout = null;プライベート文字列mStrmsg = null; public SthreadServer(ソケットソケット){try {this.mssocket = socket; in = new BufferedReader(new inputstreamReader(mssocket.getInputStream()、 "gb2312")); MSTRMSG = "user:" + msocket.getinetAddress() + "come total:" + clients.size(); sendMassage(); } catch(ioException e){system.out.println( "erorr"); System.Exit(0); }} private void sendmassage(){try {system.out.println(mstrmsg); for(socket mysocket:clients){out = new PrintWriter(new outputStreamWriter(mysocket.getOutputStream()、 "gb2312")、true); out.println(mstrmsg); }} catch(ioException e){system.out.println( "erorr"); System.Exit(0); }} public void run(){try {while((mstrmsg = in.readline()){if(mstrmsg.trim()。equals( "exit")){clients.remove(msocket); in.close(); out.close(); MSTRMSG = "user:" + msocket.getinetAddress() + "exit taxal:" + clients.size(); ; msocket.close(); sendMassage();壊す; } else {mstrmsg = msocket.getinetAddress() + ":" + mstrmsg; sendMassage(); }}} catch(ioexception e){system.out.println( "erorr"); System.Exit(0); }}} public static void main(string [] args){new tcpserver(); }} 2.tcpclient.java
import java.net。プライベートソケットクライアント= null; private bufferedreader sin = null; Private Executorservice mexecutorservice; public tcpclient(){try {client = new Socket( "120.27.126.174"、port); sin = new BufferedReader(new inputStreamReader(client.getInputStream()、 "gb2312")); mexecutorservice = executors.newcachedthreadpool(); mexecutorservice.execute(new threadclient(client));文字列msg = null; while((msg = sin.readline())!= null){system.out.println(msg); }} catch(ioException e){system.out.println(e.getmessage()); }} class threadclientはスレッドを拡張します{private socket msocket = null;プライベート文字列msg = null; bufferedreader in = null; printwriter out = null; public threadclient(socket socket){this.msocket = socket; } public void run(){try {in = new bufferedReader(new inputStreamReader(system.in)); out = new PrintWriter(new outputStreamWriter(msocket.getOutputStream()、 "gb2312")、true); while(true){msg = in.readline(); out.println(msg); if(msg.trim()。equals( "exit")){in.close(); out.close(); mexecutorservice.shutdownnow();壊す; }}} catch(ioexception e){system.out.println( "se you"); System.Exit(0); }}} public static void main(string [] args){new tcpclient(); }}上記は、JavaがTCPSocketチャットルーム機能を実装するコードです。みんなの学習に役立つことを願っています。