PDF de programación - Sockets

Imágen de pdf Sockets

Socketsgráfica de visualizaciones

Actualizado el 28 de Mayo del 2021 (Publicado el 10 de Julio del 2018)
433 visualizaciones desde el 10 de Julio del 2018
132,9 KB
8 paginas
Creado hace 15a (17/06/2008)
Sockets

Curso Propedéutico
Maestría en Ciencias de la Computación
BUAP

Introducción

Las redes de computadoras permiten al usuario

Acceder a datos remotos
Procesamiento remoto
Recursos remotos

Dr. Ivan Olmos

2

1

Introducción

Para facilitar el desarrollo de programas orientados

a aprovechar los recursos remotos, se
desarrollaron bibliotecas con soporte para
conexiones en red

Sockets

socket

Dr. Ivan Olmos

Introducción

En general, cuando se entabla una comunicación

remota entre dos sistemas, se requiere:

Cliente

protocolo

Servidor

petición

respuesta

SOCKET

Dr. Ivan Olmos

3

4

2

Sockets en Java

Introducción

Java proporciona dos familias de clases para

la programación con sockets:
Socket, DatagramSocket, ServerSocket
URL, URLEncoder, URLConnection

El tipo de socket empleado define como se

transfiere la información
Socket Stream (TCP): orientado a conexión
Socket Datagrama (UDP): servicio sin conexión

Dr. Ivan Olmos

6

3

Introducción

Cuando se establece una comunicación a

través de sockets
La comunicación es continua
Sólo finaliza cuando uno de los ordenadores

cierra su conexión

Si se emplea una conexión basada en TCP,

se garantiza la llegada y orden de los
paquetes

Dr. Ivan Olmos

7

Sockets de Flujo (TCP)

E/S: Objetos InputStrem / OutputStream

PrintWriter out = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()), true);
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));

CLIENTE

out.println(“mensaje a enviar”);
in.readLine();

SERVIDOR

Objeto

ServerSocket

Objeto Socket

Creación del socket cliente:
Socket socket = new Socket(“host”, N);

host: servidor al que se conecta
N: #puerto de conexión

Creación del socket serv:
ServerSocket socket =

new ServerSocket(N);

N: #puerto donde estará escuchando

las peticiones de entrada

Dr. Ivan Olmos

8

4

Apertura de Sockets

Cliente

Socket cliente

cliente = new Socket(Host,Puerto);

Host: localhost, IPAddress, hostname
Puerto: Numero de puerto a utilizar (mayor a

1023)

Socket Cliente;
try{

cliente = new Socket(Host, Puerto);

} catch(IOException e) {
System.out.println(e);

Dr. Ivan Olmos

9

Apertura de Socket

}

}

}

Servidor

ServerSocket Servidor;
try{

} catch(IOException e) {
System.out.println(e);

Servidor = new ServerSocket(Host, Puerto);

Cuando se implementa un servidor, se requiere crear un

objeto socket que atienda a la petición recibida en el servidor

Socket Servicio = null;
try{

Servicio = Servidor.accept();

} catch(IOException e) {
System.out.println(e);

Dr. Ivan Olmos

10

5

Streams de Entrada

Cliente: DataInputStream

DataInputStream in;
try{

} catch(IOException e) {
System.out.println(e);

in = new DataInputStream(socket.getInputStream());

DataInputStream permite la lectura de líneas de

texto y tipos de datos primitivos de Java
read(), readChar(), readInt(), readDouble(), readLine()

Misma sintaxis para un socket servidor

Dr. Ivan Olmos

11

Streams de Salida

Cliente: PrintStream o DataOutputStream

}

}

PrintStream salida;
try{

} catch(IOException e) {
System.out.println(e);

out = new PrintStream(socket.getOutputStream());

Para enviar mensajes, se pueden utilizar las

opciones
write(), println()

Dr. Ivan Olmos

12

6

Streams de Salida

Cliente: DataOutputStream

DataOutputStream salida;
try{

} catch(IOException e) {
System.out.println(e);

out = new DataOutputStream(socket.getOutputStream());

}

}

Esta clase, al igual que PrintStream permite

escribir datos primitivos de Java

Dr. Ivan Olmos

13

Streams de Salida

Servidor: PrintStream

PrintStream salida;
try{

} catch(IOException e) {
System.out.println(e);

out = new PrintStream(serversocket.getOutputStream());

También se puede utilizar la clase

DataOutputStream

Dr. Ivan Olmos

14

7

Cierre de Sockets

Siempre se deben cerrar los canales de

entrada y salida

Cliente:

Servidor:

}

try{ out.close();

in.close();

} catch(IOException e) {
System.out.println(e);

try{ out.close();
in.close();
serversocket.close();
} catch(IOException e) {
System.out.println(e);

}

Dr. Ivan Olmos

15

8
  • Links de descarga
http://lwp-l.com/pdf12445

Comentarios de: Sockets (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad