Red de conocimientos turísticos - Información de alquiler - Agregue comentarios detallados al código de la sala de chat de Java y proporcione ideas de diseño. Bueno más 100 puntos.

Agregue comentarios detallados al código de la sala de chat de Java y proporcione ideas de diseño. Bueno más 100 puntos.

importar java.io.*;

importar java.net.*;

importar java.awt.*;

importar javax.swing.*;

importar java.awt.event.*;//Introducir el paquete.

clase pública ChatClient {

public static void main(String[] args) {

ChatClient cc = new ChatClient();

cc.receive();

}

JTextField jtf; // Barra de texto

JTextArea jta; // Campo de texto.

Socket s; // Cliente

PrintWriter out // Flujo de salida

BufferedReader en; ; // Flujo de entrada

public ChatClient() {

JFrame frame = new JFrame ("ChatClient"); //ventana

frame.setSize(400) , 300); //Tamaño

jta = new JTextArea(); //Campo de texto

jta.setEditable(false); //No editable

jtf = new JTextField(); //Barra de archivos

jtf.addActionListener(new ActionListener() { //Agregar un oyente.

public void actionPerformed(ActionEvent arg0) {

send(); //Llamar al método send()

}

});

frame.getContentPane().add( new JScrollPane(jta)); //Agregar barra de desplazamiento

frame.getContentPane().add(jtf, "South"); //Agregar barra de texto

frame.setDefaultCloseOperation(JFrame) .EXIT_ON_CLOSE); //Cerrar la ventana.

frame.setVisible(true); //Se puede mostrar.

intente {

s = new Socket("127.0.0.1", 9000); //conéctese al socket del servidor("hostname", número de puerto);

in = new BufferedReader(new InputStreamReader(s. getInputStream())); //crear flujo de entrada

out = new PrintWriter(s. getOutputStream()); //crear flujo de entrada e. printStackTrace();

}

}

}

public void run() { // Debe implementar su método run() .

while (true) {

try {

String str = in.readLine() //Obtener el mensaje del lado del cliente.

if (str == null) //Regresar si no hay mensaje.

Regresar;

Iterador it = list.iterator() //Recorrer la lista .

while (it.hasNext()) { //Si la lista tiene el siguiente

Socket socket = (Socket) (it. next()); está lleno de socket almacenado

PrintWriter o = new PrintWriter(socket.getOutputStream());

Devuelve si no hay ningún mensaje. flush(); // clear

}

} catch (IOException e) {

// TODO genera automáticamente el bloque catch

// e.printStackTrace();

Retorno;

}

}

}

}

}