Red de conocimiento informático - Conocimiento del nombre de dominio - Urgente, urgente, urgente, esperando en línea a que vengan los expertos en programación Java, cómo enviar mensajes y mostrar el contenido de los mensajes de chat en la sala de chat, solo escribí el marco, como se muestra a continuación

Urgente, urgente, urgente, esperando en línea a que vengan los expertos en programación Java, cómo enviar mensajes y mostrar el contenido de los mensajes de chat en la sala de chat, solo escribí el marco, como se muestra a continuación

No escribiste nada en absoluto. Originalmente escribiste una simulación QQ, pero no dibujaste la interfaz. Para tu referencia, espero que pueda ayudarte. Lo más importante es que estarás bien si entiendes. principio

Servidor:

importar java.io.*;

importar java.net.importar java.util.HashMap; importar java.util.Scanner;

importar java.util.regex.*;

Servidor de clase pública

{

/* *

* @param args

*/

cuenta int privada = 0

num int privada = 0; >

HashMaplt; Entero, Socketgt; clientes = nuevo HashMaplt; Entero, Socketgt ();

servidor público()

{

probar<; /p>

{

servidor ServerSocket = nuevo ServerSocket(33333

while (verdadero)

{

Socket; fromClient = server.accept();

recuento;

num;

clientes.put(recuento,

nuevo); Thread()

{

public void run()

{

recibir();

}

} .start();

nuevo hilo()

{

public void run()

{

enviar();

}

}.start();

catch (IOException e)

{

// TODO Bloque catch generado automáticamente

e.printStackTrace();

}

}

public void recibir()

{

intentar

{

BufferedReader read = new BufferedReader(new InputStreamReader(clients.get(count).getInputStream()));

int tmp = count

int temp; = 0;

while(true)

{

Valor de cadena = ""

intentar

; {

valor = read.readLine();<

/p>

String regex = "^ *~ *(\\d ) *.(. *)"

Patrón pat = Pattern.compile(regex); > Coincidencia de coincidencia = pat.matcher(valor);

if(match.find())

{

temp = Integer.valueOf(match.group (1));

BufferedWriter write = new BufferedWriter(new OutputStreamWriter(clients.get(temp).getOutputStream()));

write.write("usuario " tmp "). :" match.group(2) "\n");

write.flush();

}

else

{

for(int i = 1; ilt; = num; i )

{

if(i == tmp)

{

continuar;

}

BufferedWriter escribir = nuevo BufferedWriter(nuevo OutputStreamWriter(clients.get(i).getOutputStream());

write.write("usuario " tmp ": " valor "\n");

write.flush()

write.flush("usuario " tmp; ": " valor "\n");