conceptos de redes parte 1 - Pagina del servidor yaqui

Anuncio
Programación Orientada a
Objetos II
Programación para Redes
Conceptos generales de redes
●
En la Internet, las
computadoras se
comunican entre sí
utilizando uno de los
siguientes protocolos:
–
Transmission
Control Protocol
(TCP)
–
User Datagram
Protocol (UDP)
Programas en
Java
El protocolo determinará
las
clases que se utilizarán.
Transmission Control Protocol
(TCP)
●
●
Cuando se quieren comunicar
confiablemente dos aplicaciones, éstas
establecen una conexión y envían datos
por esta conexión.
Análogo a realizar una llamada telefónica.
Transmission Control Protocol
(TCP)
●
●
TCP provee un canal punto a punto para
aplicaciones que requieren una
comunicación confiable.
TCP garantiza que los datos que se
envían desde un punto lleguen al otro
punto y en el órden que se enviaron. Si no
se reporta un error.
Aplicaciones de TCP
●
Hypertext Transfer Protocol (HTTP)
●
File Transfer Protocol (FTP)
●
Telnet
¿Por qué?
User Datagram Protocol (UDP)
●
●
●
●
UDP es un protocolo que no garantiza la
comunicación entre dos aplicaciones.
No está basado en conexión.
Envía paquetes de datos independientes
conocidos como datagramas.
Análogo a enviar una carta por correo.
Puerto #
Datos
Datagrama (paquete UDP)
Aplicaciones de UDP
●
Ping
●
DNS
●
VoIP
●
Video
¿Por qué?
Puertos
●
●
Los datos llegan a una computadora a
través de una sola conexión de red.
Los puertos se utilizan para identificar la
aplicación a la que debe dirigirse cada
dato que llega por la conexión de red.
Puertos
Aplicación A
Puerto # 1
Aplicación B
Puerto # 3
Aplicación C
Puerto # 8
Aplicación D
Puerto # 9
Protocolo: TCP
Puerto: 8
Computadora 2
Aplicación X
Puerto # n
Computadora 1
Puertos
●
●
●
Los puertos del 0 – 1023 están
reservados para servicios conocidos
como HTTP (80), FTP (20 y 21) y otros
servicios.
Se conocen como well-known ports.
No se deben utilizar para otros propósitos
en las applicaciones.
El paquete java.net
●
El paquete java.net del API de Java
incluye las clases necesarias para
establecer conexiones, crear servidores,
enviar y recibir datos, y para el resto de
las operaciones utilizadas en las
comunicaciones a través de redes de
computadoras.
Cecilia M. Curlango Rosas
11/23
El paquete java.net
●
Las siguientes clases del paquete
java.net se utilizan para trabajar con
TCP:
–
URL
–
URLConnection
–
Socket
–
ServerSocket
Cecilia M. Curlango Rosas
12/23
El paquete java.net
●
Las siguientes clases del paquete
java.net se utilizan para trabajar con
UDP:
–
DatagramPacket
–
DatagramSocket
–
MulticastSocket
Cecilia M. Curlango Rosas
13/23
URLs
●
●
Uniform Resource Locator (URL) es una
referencia (una dirección) a un recurso en
la Internet.
Un URL tiene dos partes principales:
–
Identificador del protocolo
–
Nombre del recurso
http : //yaqui.mxl.uabc.mx
Cecilia M. Curlango Rosas
14/23
Ejemplos de protocolos
●
Hypertext Transfer Protocol (HTTP)
●
File Transfer Protocol (FTP)
●
Gopher
●
File
●
News
Cecilia M. Curlango Rosas
15/23
Recursos
●
●
El nombre del recurso es su dirección
completa.
Para algunos protocolos, el nombre del
recurso tiene:
–
Host name (nombre del servidor)
–
Filename (path y nombre del archivo)
–
Port number (generalmente opcional)
–
Reference (nombre de un área especifica
dentro del archivo; opcional)
Cecilia M. Curlango Rosas
16/23
La clase URL
●
Crear una URL absoluta
URL yaqui = new URL(“http://yaqui.mxl.uabc.mx/”);
Cecilia M. Curlango Rosas
17/23
Cecilia M. Curlango Rosas
18/23
La clase URL
●
Crear una URL relativa
URL yaqui = new URL(“http://yaqui.mxl.uabc.mx/”);
URL mapa = new URL(yaqui, “TemariosComputacion.pdf”);
URL image = new URL(“http://yaqui.mxl.uabc.mx/images/”);
URL temarios = new URL(image, “MAPA_PLAN_2003.jpg”);
Cecilia M. Curlango Rosas
19/23
Clase URL
Cecilia M. Curlango Rosas
20/23
MalformedURLException
●
●
El constructor de URL genera una
MalformedURLException si los argumentos del
constuctor hacen referencia a un protocolo nulo o
desconocido.
Se recomienda atrapar la excepción con el código:
try {
URL myURL = new URL(. . .)
} catch (MalformedURLException e) {
. . .
// exception handler code here
. . .
}
Cecilia M. Curlango Rosas
21/23
Cecilia M. Curlango Rosas
22/23
Referencias y Ligas
●
Networking basics http://download.oracle.com/javase/tutorial/networking/overview/networking.html
●
●
●
●
Transmission Control Protocol http://en.wikipedia.org/wiki/Transmission_Control_Protocol
User Datagram Protocol http://en.wikipedia.org/wiki/User_Datagram_Protocol
Well-known ports http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers
URL class - http://download.oracle.com/javase/7/docs/api/java/net/URL.html
Cecilia M. Curlango Rosas
23/23
Descargar