0 votos
por (20 puntos) en Java
Hola, mi duda es como crear un chat en java, he visto codigos en la red pero no les entiendo asi que podria alguien decirme como programo un chat, por que lo mas facil seria copiar y pegar pero como que no... podria alguien decirme programo un chat en Java con interfaz grafica [GUI], por lo que he leido necesito socket's, hilos, y manejo de flujos... pero de ahi no tengo la mas minima idea, ayuda!!!


12 Respuestas

0 votos
por (40 puntos)
Aquí también tiene un chat en Java por si les interesa. Saludos.

http://codideep.com/public/producto/verporcodigoproducto/201603300000001
0 votos
por (340 puntos)
Bueno ammigo tal vez ya tienes el programa pero te dejo a qui un link

https://www.youtube.com/watch?v=zZIeUCBKwjc

https://www.youtube.com/watch?v=VvKv0EN6q0k

donde podras ver un muy buen video de como hacerlo

y si necesitas todo lo que mencionaste. yo hice uno en la universidad te dejo mi codigo por si lo quieres va:

package servidorchat;
 
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
 
/**
 * Servidor para el chat.
 *
 * @author Ivan Salas Corrales <http://programando-o-intentandolo.blogspot.com.es/>
 */
public class ServidorChat {
 
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        
        // Carga el archivo de configuracion de log4J
        PropertyConfigurator.configure("log4j.properties");        
        Logger log = Logger.getLogger(ServidorChat.class);
        
        int puerto = 1234;
        int maximoConexiones = 10; // Maximo de conexiones simultaneas
        ServerSocket servidor = null;
        Socket socket = null;
        MensajesChat mensajes = new MensajesChat();
        
        try {
            // Se crea el serverSocket
            servidor = new ServerSocket(puerto, maximoConexiones);
            
            // Bucle infinito para esperar conexiones
            while (true) {
                log.info("Servidor a la espera de conexiones.");
                socket = servidor.accept();
                log.info("Cliente con la IP " + socket.getInetAddress().getHostName() + " conectado.");
                
                ConexionCliente cc = new ConexionCliente(socket, mensajes);
                cc.start();
                
            }
        } catch (IOException ex) {
            log.error("Error: " + ex.getMessage());
        } finally{
            try {
                socket.close();
                servidor.close();
            } catch (IOException ex) {
                log.error("Error al cerrar el servidor: " + ex.getMessage());
            }
        }
    }
}

_________________________________________________________________________

package servidorchat;
 
import java.util.Observable;
 
/**
 * Objeto observable del patron observer.
 *
 * @author Ivan Salas Corrales <http://programando-o-intentandolo.blogspot.com.es/>
 */
public class MensajesChat extends Observable{
 
    private String mensaje;
    
    public MensajesChat(){
    }
    
    public String getMensaje(){
        return mensaje;
    }
    
    public void setMensaje(String mensaje){
        this.mensaje = mensaje;
        // Indica que el mensaje ha cambiado
        this.setChanged();
        // Notifica a los observadores que el mensaje ha cambiado y se lo pasa
        // (Internamente notifyObservers llama al metodo update del observador)
        this.notifyObservers(this.getMensaje());
    }
}

__________________________________________________________________________________

Preguntas relacionadas

0 votos
2 respuestas
0 votos
5 respuestas
preguntado por jeremias10 (760 puntos) Ene 28, 2016 en Java
0 votos
1 respuesta
0 votos
0 respuestas
preguntado por rick_korn (120 puntos) Ene 28, 2016 en Java
Bienvenido a Dudas de Programación, donde puedes hacer preguntas y recibir respuestas sobre los problemas más frecuentes de los lenguajes de programación, frameworks de desarrollo y bases de datos que utilices. Foro de Línea de Código

Categorías

...