Skip to main content

Chat multi-hilos cliente/servidor escrito en Java siguiendo el patrón de diseño MVC - Parte I

Hola amigos,

Espero que todos se encuentren muy bien y que todos sus planes estén marchando de la mejor manera en este 2018.

En esta ocasión aprovecharé para compartir con ustedes una aplicación que he desarrollado en mi tiempo libre y que se encuentra escrita en lenguaje de programación Java.  La aplicación implementa multi-hilos de las clases (Thread y Runnable) y sockets (Socket y Serversocket) para una correcta comunicación entre los clientes y el servidor de chat.  Cuenta con una interfaz gráfica de usuario (GUI) utilizando componentes swing tanto para el cliente como para el servidor.  Además, cabe mencionar que hice todo lo posible para lograr una implementación del patrón de diseño MVC (modelo-vista-controlador).

Antes de entrar en detalle sobre las diferentes clases y utilierías que he utilizado para desarrollar este proyecto, es necesario hablar sobre los pre-requisitos del mismo.  Así como también abordar una breve explicación del patrón de diseño MVC.  Es importante tener en cuenta que la aplicación ha sido desarrollada con fines puramente académicos y demostrativos.  Los comentarios y apreciaciones son más que bienvenidos y es posible que algunos fragmentos de código puedan ser utilizados para desarrollar otros proyectos de mayor envergadura los que se requiera la aplicación de hilos y sockets para la comunicación en red.

Es posible que algunas secciones del código luzcan poco eficientes, pero tal como menciono el objetivo es puramente académico.  Por último, quiero mencionar que todo el código fuente de la aplicación se encuentra disponible en mi repositorio de GitHub (https://github.com/bigfito/com.bigchat.es) y pueden descargar el master branch y ejecutarlo desde Netbeans.

Ahora si, listemos los requisitos que necesitamos tener nuestra máquina para poder ejecutar la aplicación "bigchat":


  • JAVA SDK
La versión de JAVA que he utilizado es la siguiente:

C:\Users\aorozco>java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)


  • NETBEANS
La versión del entorno de desarrollo Netbeans que he utilizado es Netbeans 8.2 como se muestra en la siguiente figura:

Netbeans 8.2

Finalmente y para dar por terminado este post solo resta mencionar que para abrir la aplicación en el entorno de Netbeans solo debes ejecutar los siguientes pasos:


  1. Descargar el código fuente como .zip dese el repositorio de GitHub (click aqui).
  2. Descomprimir el .zip en algún directorio o carpeta en tu máquina.
  3. Abrir el proyecto "com.bigchat" en Netbeans.
Abrir proyecto en Netbeans 8.2

Si realizaste todos los pasos anteriores correctamente entonces podrás EJECUTAR (RUN) el proyecto desde Netbeans y obtener un resultado similar al siguiente:

com.bigchat en ejecución

En las próximas entradas de este blog estaré explicando el código y las clases Java utilizadas en el proyecto.

Comments

Popular posts from this blog

Chat multi-hilos cliente/servidor escrito en Java siguiendo el patrón de diseño MVC - Parte II

Hola amigos, Si siguieron correctamente las instrucciones del post anterior (Chat multi-hilos cliente/servidor escrito en Java siguiendo el patrón de diseño MVC - Parte I) entonces ya habrán tenido la oportunidad de haber ejecutado mi chat, al que cariñosamente he bautizado "bigchat".  En algunas ocasiones me referiré a la aplicación como "bigchat" así que es importante que se familiaricen con el nombre. Antes de entrar en materia explicando las diferentes clases que componen el corazón de "bigchat" es necesario abordar una introducción de algunas conceptos que he tenido en cuenta al momento de desarrollar este proyecto.  Así que comencemos: PATRÓN DE DISEÑO (Modelo-Vista-Controlador) El patrón de diseño Modelo-Vista-Controlador muy conocido también por sus siglas MVC, no es más que un esquema de programación que tiene como finalidad hacer más legible el entendimiento de una aplicación al separar  su diseño en tres componentes fundament...