Este artículo comparte el código específico de la función de la sala de chat de Socket Java para su referencia. El contenido específico es el siguiente
Client.java
import java.io.*; import java.net.*; import java.util.*; Cliente de clase pública {public int port = 8083; Socket de socket = nulo; public static void main (string [] args) {new Client (); // Iniciar ejecución} public Client () {try {Socket = new Socket ("127.0.0.1", puerto); nuevo Cthread (). Start (); BufferedReader BR = new BufferedReader (new InputStreamReader (Socket.getInputStream ())); Cadena msg1; while ((msg1 = br.readline ())! = null) {system.out.println (msg1); }} Catch (Exception e) {}} class cthread extiende el hilo {public void run () {try {bufferedReader re = new BufferedReader (new InputStreamReader (System.in)); PrintWriter pw = new PrintWriter (Socket.getOutputStream (), true); Cadena msg2; while (true) {msg2 = re.readline (); pw.println (msg2); }} catch (Exception e) {E.PrintStackTrace (); }}}}Servidor.java
import java.net.*; import java.io.*; import java.util.*; Public Class Server {int Port; Lista <Socket> clientes; Servidor ServerSocket; servidor público () {try {port = 8083; clientes = new ArrayList <Socket> (); servidor = nuevo Serversocket (puerto); System.out.println ("Servidor iniciado"); int co = 1; while (true) {socket socket = server.accept (); clientes.add (socket); Mythread mythread = new Mythread (Socket, CO); CO ++; mythread.start (); }} catch (excepción ex) {System.out.println ("vv"); }} public static void main (string [] args) {nuevo servidor (); } class myThread extiende el hilo {socket ssocket; privado int count; BufferedReader privado BR; Printwriter privado PW; msg de cadena pública; public Mythread (Socket S, Int C) {ssocket = s; recuento = c; } public void run () {try {br = new BufferedReader (new InputStreamReader (ssocket.getInputStream ())); msg = "bienvenido [" + "cliente" + count + "] en la sala de chat! La sala de chat actual tiene [" + clientes.size () + "] personas"; sendmsg (); while ((msg = br.readline ())! = null) {msg = "【" + "cliente" + count + "] Diga:" + msg; sendmsg (); }} catch (excepción ex) {}} public void sendmsg () {try {system.out.println (msg); for (int i = clients.size ()-1; i> = 0; i--) {pw = new PrintWriter (clientes.get (i) .getOutputStream (), true); pw.println (msg); pw.flush (); }} capt (excepción ex) {}}}}Resultados de ejecución:
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.