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
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(); p>
} p>
}
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");