Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Sockets en Java - Apuntes - Programación, Apuntes de Ingeniería Infórmatica

Pontificia Universidad Católica Madre y Maestra (PUCMM). Apuntes de Ingeniería Infórmatica. Curso de Programación. Los sockets son un sistema de comunicación entre procesos de diferentes máquinas de una red. Más exactamente, un socket es un punto de comunicación por el cual un proceso puede emitir o recibir información. Fueron popularizados por Berckley Software Distribution, de la universidad norteamericana de Berkley. Los sockets han de ser capaces de utilizar el protocolo de streams TCP (Tra

Tipo: Apuntes

2012/2013

Subido el 12/06/2013

Jaime_89
Jaime_89 🇩🇴

4.5

(107)

467 documentos

1 / 5

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
LOS SOCKETS EN JAVA
Los sockets son un sistema de comunicación entre procesos de
diferentes máquinas de una red. Más exactamente, un socket es un
punto de comunicación por el cual un proceso puede emitir o recibir
información.
Fueron popularizados por Berckley Software Distribution, de la
universidad norteamericana de Berkley. Los sockets han de ser
capaces de utilizar el protocolo de streams TCP (Transfer Contro
Protocol) y el de datagramas UDP (User Datagram Protocol).
Sockets Stream (TCP, Transport Control Protocol)
Son un servicio orientado a conexión donde los datos se transeren
sin guardarlos en registros o bloques. Si se rompe la conexión entre
los procesos, éstos serán informados.
El protocolo de comunicaciones con streams está orientado a
conexión, ya que para establecer una comunicación utilizando el
protocolo TCP, se debe establecer en primer lugar una conexión entre
un par de sockets. Mientras uno de los sockets atiende peticiones de
conexión (servidor), el otro solicita una conexión (cliente). Una vez
que los dos sockets estén conectados, se pueden utilizar para
transmitir datos en ambas direcciones.
Sockets Datagrama (UDP, User Datagram Protocol)
Son un servicio de transporte sin conexión. Son más ecientes que
TCP, pero no está garantizada la abilidad. Los datos se envían y
reciben en paquetes, cuya entrega no está garantizada. Los paquetes
pueden ser duplicados, perdidos o llegar en un orden diferente al que
se envió.
El protocolo de comunicaciones con datagramas es un protocolo sin
conexión, es decir, cada vez que se envíen datagramas es necesario
enviar el descriptor del socket local y la dirección del socket que debe
recibir el datagrama. Hay que enviar datos adicionales cada vez que
se realice una comunicación.
¿Sockets Stream ó Datagrama?
La decisión acerca de cual protocolo o tipo de sockets se debe usar
depende de la aplicación cliente/servidor que se este escribiendo.
Diferencias que ayudan a la decisión.
pf3
pf4
pf5

Vista previa parcial del texto

¡Descarga Sockets en Java - Apuntes - Programación y más Apuntes en PDF de Ingeniería Infórmatica solo en Docsity!

LOS SOCKETS EN JAVA

Los sockets son un sistema de comunicación entre procesos de diferentes máquinas de una red. Más exactamente, un socket es un punto de comunicación por el cual un proceso puede emitir o recibir información. Fueron popularizados por Berckley Software Distribution, de la universidad norteamericana de Berkley. Los sockets han de ser capaces de utilizar el protocolo de streams TCP (Transfer Contro Protocol) y el de datagramas UDP (User Datagram Protocol).

Sockets Stream (TCP, Transport Control Protocol)

Son un servicio orientado a conexión donde los datos se transfieren sin guardarlos en registros o bloques. Si se rompe la conexión entre los procesos, éstos serán informados.

El protocolo de comunicaciones con streams está orientado a conexión, ya que para establecer una comunicación utilizando el protocolo TCP, se debe establecer en primer lugar una conexión entre un par de sockets. Mientras uno de los sockets atiende peticiones de conexión (servidor), el otro solicita una conexión (cliente). Una vez que los dos sockets estén conectados, se pueden utilizar para transmitir datos en ambas direcciones.

Sockets Datagrama (UDP, User Datagram Protocol)

Son un servicio de transporte sin conexión. Son más eficientes que TCP, pero no está garantizada la fiabilidad. Los datos se envían y reciben en paquetes, cuya entrega no está garantizada. Los paquetes pueden ser duplicados, perdidos o llegar en un orden diferente al que se envió.

El protocolo de comunicaciones con datagramas es un protocolo sin conexión, es decir, cada vez que se envíen datagramas es necesario enviar el descriptor del socket local y la dirección del socket que debe recibir el datagrama. Hay que enviar datos adicionales cada vez que se realice una comunicación.

¿Sockets Stream ó Datagrama?

La decisión acerca de cual protocolo o tipo de sockets se debe usar depende de la aplicación cliente/servidor que se este escribiendo.

Diferencias que ayudan a la decisión.

En UDP, cada vez que se envía un datagrama, hay que enviar también el descriptor del socket local y la dirección del socket que va a recibir el datagrama, por ende éstos son más grandes que los TCP. Como el protocolo TCP está orientado a conexión, tenemos que establecer esta conexión entre los dos sockets antes de nada, lo que implica un cierto tiempo empleado en el establecimiento de la conexión, que no existe en UDP.

En UDP hay un límite de tamaño de los datagramas, establecido en 64 Kbytes, que se pueden enviar a una localización determinada, mientras que TCP no tiene límite.

UDP es un protocolo desordenado , no garantiza que los datagramas que se hayan enviado sean recibidos en el mismo orden por el socket de recepción. Al contrario, TCP es un protocolo ordenado , garantiza que todos los paquetes que se envíen serán recibidos en el socket destino en el mismo orden en que se han enviado.

Para la mayoría de los programas que utilicen la red, el usar un flujo TCP en vez de un datagrama UDP es más sencillo y hay menos posibilidades de tener problemas. Sin embargo, cuando se requiere un rendimiento óptimo, y está justificado el tiempo adicional que supone realizar la verificación de los datos, los datagramas son un mecanismo realmente útil.

TCP parece más indicado para la implementación de servicios de red como un control remoto ( rlogin , telnet ) y transmisión de ficheros ( ftp ); que necesitan transmitir datos de longitud indefinida.

UDP es el indicado en la implementación de aplicaciones cliente/ servidor en sistemas distribuidos montados sobre redes de área local. Es menos complejo y tiene una menor sobrecarga sobre la conexión. Utilizan una serie de primitivas para establecer el punto de comunicación, para conectarse a una máquina remota en un determinado puerto que esté disponible, para escuchar en él, para leer o escribir y publicar información en él, y finalmente para desconectarse.

Sockets Raw

Son sockets que dan acceso directo a la capa de software de red subyacente o a protocolos de más bajo nivel. Se utilizan sobre todo para la depuración del código de los protocolos.

Funcionamiento de una conexión socket

La clase ServerSocket (menor que Socket) es una clase incluida en java.net que sirve para atender peticiones de conexiones, lo cual es útil a la hora de crear un servidor. En un servidor hay un bucle infinito

PONTIFICIA UNIVERSIDAD CATOLICA MADRE Y MAESTRA

FACULTAD DE CIENCIAS DE LA INGENIERIA

DEPARTAMENTO DE INGENIERIA EN SISTEMAS

T8: SOCKETS EN JAVA.

MATERIA:

PROGRAMACION 1

ISC 202-

PRESENTADO A:

PROF. FELIPE NUÑEZ

PRESENTADO POR:

AINELIM DEL CARMEN VELOZ 2003 – 0179

LOURDES NAIROBI FERNANDEZ 2003 – 0353

FECHA DE ENTREGA:

26 DE MARZO DE 2006

SANTIAGO, REP. DOM.