Microcurso
Sockets de flujo bloqueantes
¿Qué vas a aprender?
En este microcurso descubrirás los fundamentos de Sockets de flujo bloqueantes que permiten crear aplicaciones en red que se comuniquen de manera confiable. Al finalizar esta píldora serás capaz de:
- Identificar las funciones del servicio de transporte TCP
- Comprender la API de socket de flujo bloqueante y su sintaxis en java.
- Escribir código java sencillo para crear una aplicación mediante sockets de flujo bloqueantes.
Conceptos básicos
El Protocolo de Control de Transmisión brinda un servicio de transporte confiableVer detalles.
Opciones de la clase ServerSocket
Lado del servidor
APIde sockets de flujo
Protocolo TCP
Opciones de socket
Opciones de la clase Socket
Lado del cliente
Transmisión de distintos tipos de datos
Envío de texto
Recepción de distintos tipos de datos
Recepción de texto
Envío de primitivos
Pecepción de primitivos
Envío de objetos
Recepción de objetos
Pon a prueba lo aprendido hasta ahora
¿Qué hemos aprendido?
✅ Revisamos el API de socket de flujo. ✅ Descubrimos el uso de las opciones de socket. ✅ Identificamos como enviar y recibir distintostipos de datos a través de un socket de flujo. ✅ Pusimos a prueba lo aprendido.
¡Ya estás listo para empezar a crear aplicaciones simples usando sockets de flujo bloqueantes!
Fin..
Regresar
Características de TCP
- Orientado a conexión - Full duplex - Fiable - Reconoce los datos enviados como una cadena contínua de bytes - No reconoce límite de mensajes o registrosen la secuencia de bytes - Brinda control de flujo del emisor y receptor -Solo permite usar direccionamiento de unidifusión
Ver encabezado de TCP
Opciones de socket en clase ServerSocket
SO_REUSEADDR Para los sockets AF_INET , esto significa que un socket puede enlazarse, excepto cuando hay un socket de escucha activo.
SO_RCVBUF Permite modificar el tamaño del buffer de lectura
Regresar
Ver ejemplo de uso
Opciones de socket en clase Socket
SO_SNDBUF Permite modificar el tamaño del buffer de escritura SO_RCVBUF Permite modificar el tamaño del buffer de lectura SO_KEEPALIVE permite sondear periódicamente el otro extremo de la conexión SO_LINGER Fija el intervalo de espera (en segundos) para el cierre de conexión SO_TCPNODELAY Permite deshabilitar el algoritmo de Nagle
Regresar
Ver ejemplo de uso
Ejemplo:
ObjectOutputStream oos = new ObjectOutputStream(cl.getOutputStream); Dato d = new Dato(); oos.writeObject(d); oos.writeInt(100); oos.writeFloat(15.1f); oos.flush(); oos.close();
Ejemplo de modificación de opciones de socket
s.setOption(StandardSocketOptions.SO_RCVBUFF, 70000); s.setOption(StandardSocketOptions.SO_REUSEADDR. true);
Ejemplo de uso cl.setOption(StandardSocketOptions.SO_SNDBUFF, 70000); cl.setOption(StandardSocketOptions.SO_KEEPALIVE, true); cl.setOption(StandardSocketOptions.TCP_NODELAY, true); cl.setOption(StandardSocketOptions.SO_LINGER, 10)
Encabezado de TCP
Ejemplo:
DataOutputStream dos = new DataOutputStream(cl.getOutputStream()); dos.writeInt(1); dos.writeFloat(2.0f); dos.writeLong(3); dos.writeUTF("cuatro"); dos.flush(); dos.close();
Ejemplo:
BufferedReader br = new BufferedReader(new InputStreamReader(cl.getInputStream())); String v = br.readLine(); br.close();
Ejemplo:
ObjectInputStream ois = new ObjectInputStream(cl.getInputStream()); Dato d1 = (Dato)ois.readObject();
Ejemplo:
PrintWriter pw = new PrintWriter(new OutputStreamWriter(cl.getOutputStream())); pw.println("envío de texto desde el socket"); pw.flush(); pw.close();
Ejemplo:
DataInputStream dis = new DataInputStream(cl.getInputStream());nt v1 = ois.readInt(); float v2 = ois.readFloat(); long v3 = ois.readLong(); String v4 = ois.readUTF();
Microcurso
Axel Ernesto Moreno Cervantes
Created on September 17, 2025
Start designing with a free template
Discover more than 1500 professional designs like these:
View
Microcourse: Team Cybersecurity
View
Microcourse: Key Skills for the Professional Environment
View
Microcourse: Introduction to HTML
View
The Meeting Microlearning
View
The Meeting Microlearning Mobile
View
Isometric video mobile
View
Circles video mobile
Explore all templates
Transcript
Microcurso
Sockets de flujo bloqueantes
¿Qué vas a aprender?
En este microcurso descubrirás los fundamentos de Sockets de flujo bloqueantes que permiten crear aplicaciones en red que se comuniquen de manera confiable. Al finalizar esta píldora serás capaz de:
Conceptos básicos
El Protocolo de Control de Transmisión brinda un servicio de transporte confiableVer detalles.
Opciones de la clase ServerSocket
Lado del servidor
APIde sockets de flujo
Protocolo TCP
Opciones de socket
Opciones de la clase Socket
Lado del cliente
Transmisión de distintos tipos de datos
Envío de texto
Recepción de distintos tipos de datos
Recepción de texto
Envío de primitivos
Pecepción de primitivos
Envío de objetos
Recepción de objetos
Pon a prueba lo aprendido hasta ahora
¿Qué hemos aprendido?
✅ Revisamos el API de socket de flujo. ✅ Descubrimos el uso de las opciones de socket. ✅ Identificamos como enviar y recibir distintostipos de datos a través de un socket de flujo. ✅ Pusimos a prueba lo aprendido.
¡Ya estás listo para empezar a crear aplicaciones simples usando sockets de flujo bloqueantes!
Fin..
Regresar
Características de TCP
- Orientado a conexión - Full duplex - Fiable - Reconoce los datos enviados como una cadena contínua de bytes - No reconoce límite de mensajes o registrosen la secuencia de bytes - Brinda control de flujo del emisor y receptor -Solo permite usar direccionamiento de unidifusión
Ver encabezado de TCP
Opciones de socket en clase ServerSocket
SO_REUSEADDR Para los sockets AF_INET , esto significa que un socket puede enlazarse, excepto cuando hay un socket de escucha activo.
SO_RCVBUF Permite modificar el tamaño del buffer de lectura
Regresar
Ver ejemplo de uso
Opciones de socket en clase Socket
SO_SNDBUF Permite modificar el tamaño del buffer de escritura SO_RCVBUF Permite modificar el tamaño del buffer de lectura SO_KEEPALIVE permite sondear periódicamente el otro extremo de la conexión SO_LINGER Fija el intervalo de espera (en segundos) para el cierre de conexión SO_TCPNODELAY Permite deshabilitar el algoritmo de Nagle
Regresar
Ver ejemplo de uso
Ejemplo:
ObjectOutputStream oos = new ObjectOutputStream(cl.getOutputStream); Dato d = new Dato(); oos.writeObject(d); oos.writeInt(100); oos.writeFloat(15.1f); oos.flush(); oos.close();
Ejemplo de modificación de opciones de socket
s.setOption(StandardSocketOptions.SO_RCVBUFF, 70000); s.setOption(StandardSocketOptions.SO_REUSEADDR. true);
Ejemplo de uso cl.setOption(StandardSocketOptions.SO_SNDBUFF, 70000); cl.setOption(StandardSocketOptions.SO_KEEPALIVE, true); cl.setOption(StandardSocketOptions.TCP_NODELAY, true); cl.setOption(StandardSocketOptions.SO_LINGER, 10)
Encabezado de TCP
Ejemplo:
DataOutputStream dos = new DataOutputStream(cl.getOutputStream()); dos.writeInt(1); dos.writeFloat(2.0f); dos.writeLong(3); dos.writeUTF("cuatro"); dos.flush(); dos.close();
Ejemplo:
BufferedReader br = new BufferedReader(new InputStreamReader(cl.getInputStream())); String v = br.readLine(); br.close();
Ejemplo:
ObjectInputStream ois = new ObjectInputStream(cl.getInputStream()); Dato d1 = (Dato)ois.readObject();
Ejemplo:
PrintWriter pw = new PrintWriter(new OutputStreamWriter(cl.getOutputStream())); pw.println("envío de texto desde el socket"); pw.flush(); pw.close();
Ejemplo:
DataInputStream dis = new DataInputStream(cl.getInputStream());nt v1 = ois.readInt(); float v2 = ois.readFloat(); long v3 = ois.readLong(); String v4 = ois.readUTF();