Con la finalidad de aplicar nuestros conocimientos acerca de Modelos de Lenguajes de Programación, hemos desarrollado un Chat. La aplicación llamada JavaChat ha sido implementada en Java por ser este un lenguaje orientado a objetos,ademas por la facilidad para implementar Sockets e Hilos ,técnicas empleadas en este aplicación.

Ventana cliente

Ventana Privado
(Editado Marzo del 2009) Agradecería a las personas que han mejorado este proyecto y/o modificado enviarlo a mi correo electronico: valsrock@gmail.com . Espero sus mails .Salu2
Javachat: Idea del Proyecto
La implementación del programa servidor sigue las siguientes ideas:
- Se inicia el servidor
- El servidor se mantiene escuchando cualquier petición de un cliente para conectarse.
- El servidor acepta al cliente.
- El servidor lanza un hilo de comunicación con el cliente.
- Por el hilo se envían y reciben mensajes a través del servidor entre todos los clientes.
- Si el cliente cierra la comunicación el hilo se rompe y se corta la comunicación con ese cliente.
La implementación del programa cliente sigue las siguientes ideas:
- Se inicia el cliente
- El cliente lanza una petición al servidor para conectarse
- El servidor asigna un hilo al cliente al ser aceptado.
- El cliente envía y recibe mensajes por el hilo hacia todos o hacia algun usuario específico, usando al servidor como puente para las comunicaciones.
Para esto se ha empleado objetos de la clase ServerSocket y Socket para el servidor y cliente respectivamente que permiten la conexion entre cliente y servidor mientras que los Hilos sirven para hacer que el servidor se mantenga escuchando y no interrumpa su proceso mientras los clientes se comunican a traves de mensajes.A continuacion unas definiciones:
Sockets:Los sockets no son más que puntos o mecanismos de comunicación entre procesos que permiten que un proceso hable ( emita o reciba información ) con otro proceso incluso estando estos procesos en distintas máquinas. Esta característica de interconectividad entre máquinas hace que el concepto de socket nos sirva de gran utilidad.
Hilos: Un hilo es un flujo de ejecución de código, y mediante hilos, podemos hacer que nuestros programas aparentemente realicen varias tareas al mismo tiempo.Por ejemplo, un código podría interaccionar con el usuario mientras realiza tareas de segundo plano de gran consumo de tiempo.Los hilos separados realmente no se ejecutan al mismo tiempo(a menos que se tenga una maquina multiprocesador); en realidad cada hilo obtiene secuencias de tiempo del mismo procesador.Ayuda para la aplicación: Siga los siguientes pasos:
- Inicie el IDE Netbeans
- Abra el proyecto
- Ejecute la el archivo servidor.java
- Ejecute cuantas veces desee el archivo VentCliente.java
- Ingrese “localhost” si los clientes se ejecutan sobre una misma PC.
- Ingrese un nick, con el que sera identificado.
- En la ventana que le aparece Ud. podrá conversar con todos a la vez.
- Para conversar en privado con un solo contacto, elija en la lista de contactos a un usuario y luego pulse el botón privado.
- A continuación le aparecerá una ventana mas pequeña en la que podrá comunicarse solo con su contacto.
- Para salir simplemente cierre la ventana y el cliente se desconectará automáticamente.
Aqui dejo los link para que prueben este proyecto:
Sus comentarios...