Dieser Artikel teilt den entsprechenden Code für Java mit, um die TCPSocket -Chatroom -Funktion als Referenz zu implementieren. Der spezifische Inhalt ist wie folgt
1.TcpServer.java
Java.net.*; Java.io importieren.*; import Java.util. Private ServerSocket MyServer = NULL; Private List <Socket> clients = new ArrayList <Socket> (); privater Executorservice Mexecutorservice; public tCpServer () {try {myServer = new ServerSocket (Serverport); mexecutorService = Executors.newcachedThreadpool (); System.out.println ("Start:"); Socket mysocket = null; while (wahr) {mysocket = myServer.accept (); Clients.Add (Mysocket); mexecutorService.execute (neuer Threadserver (Mysocket)); }} catch (Ausnahme e) {e.printstacktrace (); System.exit (0); }} Klasse Threadserver implementiert runnable {private Socket msocket = null; private bufferedReader in = null; privater Pressewriter out = null; private String mstrmsg = null; public threadserver (Socket Socket) {try {this.msSocket = Socket; in = neuer BufferedReader (neuer InputStreamReader (mssocket.getInputStream (), "GB2312")); mstrmsg = "Benutzer:" + 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); für (Socket MySocket: Clients) {out = neuer Pressewriter (neuer Ausgangsstreamwriter (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 ())! in.close (); out.close (); MStrmsg = "Benutzer:" + msocket.getInetaddress () + "Taxal beenden:" + clients.size (); ; msocket.close (); Sendmassage (); brechen; } 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
Java.net.*; Java.io importieren.*; import Java.util.Concurrent. privater Socket Client = null; private bufferedReader sin = null; privater Executorservice Mexecutorservice; public tcpclient () {try {client = new Socket ("120.27.126.174", Port); SIN = neuer BufferedReader (neuer InputStreamReader (Client.getInputStream (), "GB2312")); mexecutorService = Executors.newcachedThreadpool (); mexecutorService.execute (neuer ThreadClient (Client)); String msg = null; while ((msg = sin.readline ())! = null) {System.out.println (msg); }} catch (ioException e) {System.out.println (e.getMessage ()); }} Klasse ThreadClient erweitert Thread {private Socket msocket = null; private String msg = null; BufferedReader in = null; Printwriter out = null; public ThreadClient (Socket Socket) {this.msocket = Socket; } public void run () {try {in = new bufferedReader (neuer InputStreamReader (System.in)); out = neuer Pressewriter (neuer Ausgangsstreamwriter (msocket.getOutputStream (), "gb2312"), true); while (true) {msg = in.readline (); out.println (msg); if (msg.trim (). Equals ("exit")) {in.close (); out.close (); mexecutorService.shutdownnow (); brechen; }}} catch (ioException e) {System.out.println ("siehe dich"); System.exit (0); }}} public static void main (String [] args) {new tcpclient (); }}Das obige ist der Code für Java, um die Funktion des TCPSocket -Chatraums zu implementieren. Ich hoffe, es wird für das Lernen aller hilfreich sein.