Dieser Artikel teilt den spezifischen Code der Java Socket Chat Room -Funktion als Referenz. Der spezifische Inhalt ist wie folgt
Client.java
import Java.io.*; Java.net importieren.*; import Java.util.*; Public Class Client {public int port = 8083; Socket Socket = Null; public static void main (String [] args) {new Client (); // Ausführung starten} public Client () {try {socket = new Socket ("127.0.0.1", Port); new cthread (). start (); BufferedReader BR = neuer BufferedReader (neuer InputStreamReader (Socket.GetInputStream ())); String msg1; while ((msg1 = br.readline ())! = null) {System.out.println (msg1); }} catch (Exception e) {}} Klasse CThread erweitert Thread {public void run () {try {bufferedReader re = new bufferedReader (new InputStreamReader (System.in)); Pressewriter PW = neuer Pressewriter (Socket.getOutputStream (), True); String msg2; while (true) {msg2 = re.readline (); PW.println (MSG2); }} catch (Ausnahme e) {e.printstacktrace (); }}}}Server.java
Java.net importieren.*; import Java.io.*; import Java.util.*; öffentlicher Klassenserver {int port; LISTE <Socket> Clients; ServerSocket Server; public server () {try {port = 8083; Clients = New ArrayList <Socket> (); Server = New ServerSocket (Port); System.out.println ("Server gestartet"); int co = 1; while (true) {Socket Socket = server.accept (); Clients.Add (Socket); MyThread MyThread = New MyThread (Socket, CO); CO ++; mythead.start (); }} catch (Ausnahme ex) {System.out.println ("vv"); }} public static void main (String [] args) {new server (); } class myThread erweitert Thread {Socket Ssocket; private Int Count; privater BufferedReader BR; privates Pressewriter PW; öffentliche String -MSG; public myThread (Socket s, int c) {ssocket = s; count = c; } public void run () {try {br = new bufferedReader (neuer InputStreamReader (ssocket.getInputStream ()); msg = "Welcome [" + "Client" + count + "] in den Chatraum! Der aktuelle Chatraum hat [" + clients.size () + "] Personen"; sendmsg (); while ((msg = br.readline ())! = null) {msg = "【" + "client" + count + "] sagen:" + msg; sendmsg (); }} catch (Ausnahme ex) {}} public void sendsg () {try {System.out.println (msg); für (int i = clients.size ()-1; i> = 0; i--) {pw = neuer printwriter (Clients.get (i) .GetOutputStream (), true); pw.println (msg); pw.flush (); }} catch (Ausnahme ex) {}}}}}Auslaufergebnisse:
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.