Está en la página 1de 16

1PROYECTO SOCKETS

SANTIAGO GUZMAN RODRIGUEZ (1820650348)


NICOLAS SILVA MUÑOZ (1810650031)
JEIMY CAROLINA CARDONA SALAZAR (1820650014)

Abril 2020.

Institución Universitaria Politécnico Grancolombiano


Ingeniería de Sistemas
Telecomunicaciones
Resumen

Se desarrollará uno o varios sockets para establecer un enlace de comunicación de red


bidireccional entre el extremo del servidor y el programa receptor que es el cliente, teniendo en
cuenta que un socket es capaz de simplificar el funcionamiento de un programa permitiendo a los
programadores a confiar en el sistema operativo para transportar los mensajes a través de la red
correctamente. Basados en el libro de Kurose séptima edición resolveremos los puntos de
programación de sockets como tarea1: servidor web y el punto tarea 3: cliente de correo, el
lenguaje de programación utilizado será .net
Tabla de Contenidos

Capítulo 1 Introducción 1
¿Que es un Socket?Error! Bookmark not defined.
¿Cuáles son las Funcionalidades de un Socket?2
¿Qué modelo de pizarra se utilizo?.................................................................................1
Capítulo 2 Tarea 1: servidor Web3
Crear socket de conexión 3
Recibir solicitud HTTP .Error! Bookmark not defined.
Crear mensaje de respuesta HTTP .Error! Bookmark not defined.
Respuesta de navegador por TCP ……………………………………………………3
Mensaje de Error ……………………………………………………………………… 3
Capítulo 3 Tarea 3: cliente correo .7
Conexión servidor correo SMTP……………………………………………………… 5
Conexión TCP con un correo electrónico……………………………………………5
Enviar correo a un receptor …………………………………………………………5
Lista de Referencias11
Capítulo 1

Introducción

¿Qué es un Socket?

La interfaz socket define las reglas que un programa ha de seguir para utilizar los
servicios del nivel de transporte en una red TCP/IP. Esta interfaz se basa en el concepto
de socket. Un socket es el punto final de una comunicación bidireccional entre dos
programas que intercambian información a través de internet (socket se traduce como
“enchufe”).
Entre estos tenemos los Sockets Stream (TCP) que se basan en un servicio orientado a
conexión y el Sockets Datagram (UDP) que se basan en el protocolo UDP y ofrecen un
servicio de transporte sin conexión.

¿Cuáles son las Funcionalidades de un Socket?

Para que dos programas puedan comunicarse entre si es necesario que se cumplan ciertos
requisitos:

1. Que un programa sea capaza de localizar al otro.

2. Que ambos programas sean capaces de intercambiarse cualquier secuencia de


octetos, es decir, datos relevantes a su finalidad.

Para ello son necesarios los dos recursos que originan el concepto de socket:

1. Un par de direcciones del protocolo de red (dirección IP, si se utiliza e protocolo


TCP/IP), que identifican la computadora de origen y la remota.
2. Un par de números de puerto, que identifican a un programa dentro de cada
computadora.

Los sockets permiten implementar una arquitectura cliente-servidor. La comunicación


debe ser iniciada por uno de los programas que se denomina programa “cliente”. El
segundo programa espera a que otro inicie la comunicación, por este motivo se denomina
programa “servidor”.
Un socket es un proceso o hilo existente en la maquina cliente y en la maquina servidora,
que sirve en última instancia para que el programa servidor y el cliente lean y escriban la
información. Esta información será transmitida por las diferentes capas de res.

¿Qué modelo de pizarra se utilizó?

Decidimos utilizar la pizarra de TRELLO, por su fácil manejo de la plataforma. Trello es


una herramienta de gestión de proyectos que hace que la colaboración sea más sencilla.

Un Board de Trello es básicamente una página web que contiene listas dispuestas de
manera horizontal de modo que puedas apreciar, de un vistazo, todo lo que hay en tu
proyecto. Los ítems dentro de las listas, llamados cards, pueden arrastrarse y soltarse en
otras listas desplegables.

Realizamos todo el seguimiento de las tareas y actividades de nuestro proyecto de sockets


y estos fueron los resultados actualmente en nuestro proyecto.

En la imagen de nuestro proyecto en Trello podemos ver a simple vista que ya no


tenemos ninguna tarea en la lista de pendientes que se encuentra en la parte izquierda de
nuestro tablero, tenemos 3 tareas en proceso y el resto del proyecto ya finalizado en
nuestro tablero.

Puedes incluir comentarios, fechas de cada actividad, separarla por colores y asignar a los
participantes del proyecto de una forma interactiva y dinámica.
Capítulo 2

Tarea 1: Servidor Web

En esta tarea, tendrá que desarrollar un servidor web simple que sea capaz de procesar
una única solicitud. Específicamente, el servidor web deberá:

1. Crear un socket de conexión al ser contactado por un cliente (navegador).


2. Recibir la solicitud HTTP a través de dicha conexión.
3. Analizar sintácticamente la solicitud para determinar que archivo concreto se está
solicitando.
4. Enviar la respuesta al navegador solicitante a través de la conexión TCP.
5. El servidor web debe devolverle un mensaje de error “404 Not Found”

Su tarea consiste en completar el código, ejecutar el servidor y luego probarlo,


enviándole solicitudes desde navegadores que se ejecuten en diferentes hosts, si ejecuta
su servidor web en un host que ya tenga otro servidor web funcionando, deberá utilizar
para su servidor web un puerto distinto del puerto 80.

Crear socket de conexión.

En nuestra creación de conexión vamos a seleccionar la casilla llamada WebSocket


Server URL y en ella vamos digitar “localhost:5000/ws” Para poder tener una conexión
exitosa. (vista del cliente).

(Vista código)
Recibir solicitud HTTP.

(Vista codigo)
Conexión de la consola.

Crear mensaje de respuesta HTTP.

Al momento de generar un mensaje al correo que se solicite se vera de esta manera,


dando a conocer que él envío y recepción del mensaje fue exitoso
Respuesta de navegador por TCP.

Al realizar esta acción podemos observar la respuesta que nos arroja la consola.

Mensaje de Error.
Capítulo 3

Tarea 3: Correo Electrónico.

El objetivo de esta tarea de programación es crear un cliente de correo simple que


envié correos electrónicos a cualquier destinatario. Su cliente necesitara establecer una
conexión TCP con un servidor de correo (por ejemplo, el servidor de correo de google),
dialogar con el servidor de correo utilizando el protocolo SMTP. Enviar un mensaje de
correo electrónico a un receptor (por ejemplo, un amigo suyo) a través de un servidor de
correo y, finalmente, cerrar la conexión TCP con el servidor de correo.

Su tarea consiste en completar el código y probar su cliente enviando correos


electrónicos a diferentes cuentas de usuario. También puede intentar enviar los correos a
través de diferentes servidores (por ejemplo, a través de un servidor de correo de Google
y del servidor de correo de su universidad).

Conexión servidor correo SMTP.

Asi realizamos la conexión al servidor con SMTP.


Conexión TCP con un correo electrónico.

Enviar correo a un receptor.

Al enviar el correo a cualquier receptor podemos observar que efectivamente la conexión


funciona y que viaja el correo sin ningún inconveniente.

(Vista codigo) construcción método de envio.


(Vista Cliente).

Formulario.
Respuesta del receptor.

El mensaje que nos confirma que el correo se ha enviado sin ningún problema es el
siguiente.
Lista de referencias

https://www-ebooks7-24-com.loginbiblio.poligran.edu.co/stage.aspx?il=&pg=&ed=273

https://www.speedcheck.org/es/wiki/socket/

http://www.androidcurso.com/index.php/recursos/43-unidad-10-internet-sockets-http-y-
servicios-web/313-que-es-un-socket

También podría gustarte