Está en la página 1de 18

UNIVERSIDAD NACIONAL DE HUANCAVELICA

FACULTAD DE: INGENIERÍA ELECTRÓNICA-SISTEMAS


ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS

CURSO: Sistemas Distribuidos

TEMA: SOCKETS
ESTUDIANTES:

Gutiérrez Sullca, Erika Mirella

Pacheco Meza, Olga Claudia

Lopez Justo, Kely Jesenia

DOCENTE:

Pacheco Moscoso, Luis E.

SEMESTRE:

VIII

DANIEL HERNANDEZ – 2018


INDICE
INTRODUCCIÓN ......................................................................................................... 2
1. OBJETIVO ........................................................................................................... 3
1.1. OBJETIVO GENERAL .............................................................................. 3
1.2. OBJETIVOS ESPECIFICOS...................................................................... 3
2. MARCO TEÓRICO ............................................................................................. 4
2.1. JAVA……. ................................................................................................. 4
2.1.1.Ventajas….......................................................................................... 4
2.1.2.Desventajas. ....................................................................................... 4
2.2. NETBEANS ................................................................................................ 5
2.3. SOCKETS.. ................................................................................................. 5
2.4. CHAT………………………… ................................................................. .6
2.5. COMPARTICIÓN DE ARCHIVOS .......................................................... 6
3. IMPLEMENTACIÓN .......................................................................................... 7
3.1. SERVIDOR................................................................................................. 9
4. PRUEBAS. ......................................................................................................... 15
4.1. INICIAR SERVIDOR .............................................................................. 15
5. CONCLUSIÓN Y RECOMENDACIONES ...................................................... 16
6. BIBLIOGRAFÍA ................................................................................................ 17

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

1.1. OBJETIVO GENERAL


Creación de un sistema de transferencia de archivos a través de sockets.
1.2. OBJETIVOS ESPECIFICOS
 Establecer una conexión por medio de sockets entre cliente/servidor.

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.

Figura 2.3.1.: Explicación del funcionamiento del socket.


Los sockets son básicamente formas en las que podemos interconectar 2 (o
más) programas mediante el uso de la internet. En java se utilizan para poder
crear conexiones utilizando básicamente una IP/hostname y un puerto para
establecer la conexión. Para aprender podemos utilizarla para conectar 2
programas por medio de Internet. (Tornil & Peig Olivé, 2012)

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).

2.5. COMPARTICIÓN DE ARCHIVOS


La compartición o intercambio de archivos se refiere al uso mancomunado de
diversos contenidos digitales, tales como documentos, archivos multimedia y
programas de computación; por parte de un grupo de personas en el ámbito de
una determinada red. (Montoya, 2011)

6
3. IMPLEMENTACIÓN

En esta parte se realizara la explicación del proceso paso a paso de la implementación


del aplicativo.

Figura 3.1.: Creación de proyecto – servidor

Figura 3.2.: Crear un paquete servidor

7
Figura 3.3.: Crear un Javaclass denominado servidor

Figura 3.4.: Importar librerías

Figura 3.5.: Crear una clase publica denominada Servidor

8
Figura 3.6.: Crear el socket servidor

Figura 3.7.: Se crea el socket que atenderá al servidor

3.1. SERVIDOR

Figura 3.1.1.: Crearemos un Packete.

9
Figura 3.1.2.: Crear un paquete llamado cliente

Figura 3.1.3.: Crear un javaclass denominado Cliente

Figura 3.1.4.: Importar librería

10
Figura 3.1.5.: Crear public class para el Archivo que se enviara

Figura 3.1.6.: Crear un JFrame llamado ArchivoDiseñar formulario

11
Figura 3.1.7.: Insertar código dentro del formulario

Figura 3.1.8.: Agregar librerías

Figura 3.1.9.: Insertar código en el botón aceptar

Figura 3.1.10.: Insertar código en el botón enviar

12
Figura 3.1.11.: Será necesario crear otro java class denominado CorregirRuta

Figura 3.1.12.: Crear un nuevo javaclass llamado CorregirRuta

Figura 3.1.13.: Importar librería

13
Figura 3.1.14.: Insertar codigo que permitirá corregir la ruta del archivo

Figura 3.1.15.: Crear un nuevo javaclass denominada EnviarArchivoImportar librerías

Figura 3.1.16.: Insertar código que servirá para enviar archivos

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.

4.1. INICIAR SERVIDOR

Figura 4.1.1.: Ejecutando el sistema.

15
5. CONCLUSIÓN Y RECOMENDACIONES

Después de haber analizado las características propias del lenguaje JAVA,


podemos concluir que hasta el momento, es un software de programación en el que
podemos confiar al diseñar nuestras aplicaciones, esto es, por su gran versatilidad,
facilidad de programación y seguridad.
Los Chats, y los aplicativos de enviar archivos en nuestra época están dando un
gran giro comercial, ya que no solo se utiliza para intercomunicar a un grupo de
gente, sino que también, para establecer una relación entre los usuarios,
Al concluir nuestro trabajo monográfico hemos logrado cumplir con nuestros
objetivos planteados, hacer el trabajo de comunicación mucho más fácil.
Por lo tanto al término de este trabajo hemos adquirido una mayor compresión de
las técnicas utilizadas para la realización del mismo

16
6. BIBLIOGRAFÍA

Amaya, I. G. (2015). Introducción a NETBEANS (JAVA) . Artech Soluciones

S.A.S - Colombia, 12.

Montoya, C. E. (2011). Introducción al desarrollo de aplicaciones de red en

java . España: PROGRAMMING.

Remon, M. A. (2006). Desarrlo de aplicacione s con JAVA. Colombia:

Alfaomega.

Tornil, X. P., & Peig Olivé, E. (2012). Programación de sockets. España:

UOC.

17

También podría gustarte