Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TEMA: SOCKETS
ESTUDIANTES:
DOCENTE:
SEMESTRE:
VIII
1
INTRODUCCIÓN
En esta ocasión vamos a ver cómo hacer un chat en java capaz de atender múltiples clientes.
Hacer un chat semicompleto para comunicarse entre 2 computadoras, es sencillo siempre y
cuando se entienda bien cómo funcionan los sockets que dicho sea de paso no tienen mucha
complicación, pero hacer que se pueda mantener una comunicación entre más de dos hace que
sean necesarias algunas cosas más puesto que un socket se comunica con un único socket y ahí
está el obstáculo.
La función del servidor de forma resumida se puede decir que es mantenerse en un bucle
infinito a la espera de nuevas conexiones y cuando se produzca una nueva conexión se crea un
hilo para atenderla donde dentro de otro bucle infinito se recibirán los mensajes enviados por
los clientes y se enviarán. Y el cliente lo que hace es crear un bucle infinito para recibir los
mensajes del servidor (previamente enviados por un cliente) y una función para poder enviar
mensajes al servidor.
2
1. OBJETIVO
3
2. MARCO TEÓRICO
2.1. JAVA
El lenguaje de programación Java fue originalmente desarrollado por James
Gosling de Sun Microsystems (la cual fue adquirida por la compañía Oracle) y
publicado en 1995 como un componente fundamental de la plataforma Java de
Sun Microsystems. Su sintaxis deriva en gran medida de C y C++, pero tiene
menos utilidades de bajo nivel que cualquiera de ellos. Las aplicaciones de Java
son generalmente compiladas a bytecode (clase Java) que puede ejecutarse en
cualquier máquina virtual Java (JVM) sin importar la arquitectura de la
computadora subyacente. (Remon, 2006)
2.1.1. Ventajas.
Manejo automático de la memoria. (para los que vienen de C/C++) " ¡Si,
no hay punteros! WOW!".
El manejo de la memoria se hace automáticamente y utilizando el
garbage collector. Esto ahorra SIGNIFICANTE tiempo de
programación.
Lenguaje Multiplataforma: El código que escrito en java es leído por un
intérprete, por lo que su programa andará en cualquier plataforma.
Programación Orientada a Objetos: Paradigma muy utilizado hoy en día
que facilita y organiza mucho la programación.
Puede correr en el explorador y en dispositivos móviles.
Sintaxis similar a C/C++, pero más simple.
Fácil de aprender.
¡Además, es GRATIS!
2.1.2. Desventajas.
Menos Eficiente, comparado a C/C++.
Requiere un intérprete.
Algunas implementaciones y librerías pueden tener código rebuscado.
Una mala implementación de un programa en java puede resultar en algo
muy lento.
4
2.2. NETBEANS
NetBeans es un entorno de desarrollo integrado libre, hecho principalmente
para el lenguaje de programación Java. Existe además un número importante de
módulos para extenderlo. NetBeans IDE es un producto libre y gratuito sin
restricciones de uso. (Amaya, 2015)
2.3. SOCKETS
Los sockets son un mecanismo que nos permite establecer un enlace entre dos
programas que se ejecutan independientes el uno del otro (generalmente un
programa cliente y un programa servidor) Java por medio de la librería java.net
nos provee dos clases: Socket para implementar la conexión desde el lado del
cliente y ServerSocket que nos permitirá manipular la conexión desde el lado del
servidor.
5
2.4. CHAT
El chat (término proveniente del inglés que en español equivale a charla),
también conocido como cibercharla. Es uno de los (Tornil & Peig Olivé,
2012)métodos de comunicación digital surgido con las nuevas tecnologías.
Designa una conversación escrita realizada de manera instantánea mediante el uso
de un software entre dos o más usuarios conectados a la red, generalmente
Internet, ya sea a través de los llamados chats públicos (si cualquier usuario puede
entrar) o privados (cuando la entrada está sujeta a autorización).
6
3. IMPLEMENTACIÓN
7
Figura 3.3.: Crear un Javaclass denominado servidor
8
Figura 3.6.: Crear el socket servidor
3.1. SERVIDOR
9
Figura 3.1.2.: Crear un paquete llamado cliente
10
Figura 3.1.5.: Crear public class para el Archivo que se enviara
11
Figura 3.1.7.: Insertar código dentro del formulario
12
Figura 3.1.11.: Será necesario crear otro java class denominado CorregirRuta
13
Figura 3.1.14.: Insertar codigo que permitirá corregir la ruta del archivo
14
4. PRUEBAS
Se realizaron las pruebas por medio del uso de un servidor y un cliente. Se levanto
el servidor y se ejecutó un cliente el cual pudo realizar la trasferencia de archivos
exitosamente.
15
5. CONCLUSIÓN Y RECOMENDACIONES
16
6. BIBLIOGRAFÍA
Alfaomega.
UOC.
17