Chat Java

Páginas: 8 (1844 palabras) Publicado: 3 de octubre de 2012
Cliente Chat import java.awt.Color; import java.awt.Rectangle; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; import java.net.InetAddress; import java.net.Socket; import java.net.UnknownHostException; import java.util.ArrayList; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.DefaultListModel; importjavax.swing.JColorChooser; import javax.swing.text.BadLocationException; public class ClienteChat extends javax.swing.JFrame implements Runnable { private final int PUERTO = 10000; private final String SERVIDOR = "127.0.0.1"; private Socket miCliente; private DataOutputStream enviar; private DataInputStream recibir; private String colorFuente = "BLUE"; private String nickName; private static ArrayList privados =new ArrayList(); /** Creates new form ClienteChat */ public ClienteChat() { initComponents(); setResizable(false); setLocationRelativeTo(null); setVisible(true); } public boolean conectaServidor(String nick) { boolean exito = false; try { miCliente = new Socket(SERVIDOR, PUERTO); txtVista.setText("Conexion Exitosa!!!"); nickName = nick;

setTitle("Nombre de Usuario: " + nickName); try { enviar= new DataOutputStream(miCliente.getOutputStream()); recibir = new DataInputStream(miCliente.getInputStream()); enviarNick(nick); exito = new Boolean(recibir.readUTF().toString()); } catch (IOException ex) { txtVista.setText("Error al crear los flujos I/O en el socket"); } } catch (UnknownHostException ex) { txtVista.setText("Servidor no encontrado"); } catch (IOException ex) {txtVista.setText("Error de conexion con el Servidor"); } return exito; } private void enviarNick(String nick) { try { enviar.writeUTF(nick); enviar.flush(); } catch (IOException ex) { System.out.print("Error al enviar el nick"); } } private void enviar(String mensaje) { try { enviar.writeUTF("" + mensaje + ""); enviar.flush(); } catch (IOException ex) { System.out.print("Error al enviar el mensaje"); } } publicvoid enviarPrivado(String mensaje) { try { enviar.writeUTF(mensaje + ";" + nickName + "|"); enviar.flush(); } catch (IOException ex) { System.out.print("Error al enviar el mensaje");

} } private void procesaCadenaUsuarios(String cadena) { cadena = cadena.substring(1); cadena = cadena.substring(0, cadena.length() - 1); String usuarios[] = cadena.split(";"); DefaultListModel modelo = newDefaultListModel(); for (int i = 0; i < usuarios.length; i++) { modelo.addElement(usuarios[i]); } lstUsuarios.setModel(modelo); } public void run() { while (true) { try { String mensaje = recibir.readUTF(); if (mensaje.startsWith("|") && mensaje.endsWith("|")) { mensaje = mensaje.substring(1); mensaje = mensaje.substring(0, mensaje.length() - 1); String paquete[] = mensaje.split(";"); boolean band = false;for (int i = 0; i < privados.size(); i++) { if (((ClientePrivado) privados.get(i)).getNombre().equals(paquete[2])) { ((ClientePrivado) privados.get(i)).imprimeMensaje(paquete[2] + " dice:\n" + paquete[1]); band = true; } } if (!band) { ClientePrivado x = new ClientePrivado(paquete[2], this); privados.add(x); ((ClientePrivado) privados.get(privados.size() - 1)).imprimeMensaje(paquete[1]); } } elseif (mensaje.startsWith("•") && mensaje.endsWith("•")) { procesaCadenaUsuarios(mensaje); } else { String textoHtml = txtVista.getText(); textoHtml = textoHtml.substring(textoHtml.indexOf("") + 6, textoHtml.indexOf("")); System.out.println(textoHtml);

txtVista.setText(textoHtml + mensaje); //txtVista.setCaretPosition(txtVista.getText().length()); } } catch (IOException ex) {Thread.currentThread().stop(); System.out.println("Error al recibir el mensaje"); } } } @SuppressWarnings("unchecked") // private void initComponents() { txtMensaje = new javax.swing.JTextField(); jScrollPane2 = new javax.swing.JScrollPane(); lstUsuarios = new javax.swing.JList(); jLabel1 = new javax.swing.JLabel(); btnPrivado = new javax.swing.JButton(); jLabel2 = new javax.swing.JLabel(); btnEnviar = new...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Chat java con sockets
  • CREAR CHAT EN JAVA
  • el chat
  • Chat
  • Chat
  • Chat
  • Chat Uno A Uno
  • El chat

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS