SlideShare una empresa de Scribd logo
1 de 7
SOCKETS TCP/IP
¿Qué es un socket?
• Socket designa un concepto abstracto por el cual dos programas (posiblemente situados
en computadoras distintas) pueden intercambiar cualquier flujo de datos, generalmente de
manera fiable y ordenada.
• El término socket es también usado como el nombre de una interfaz de programación de
aplicaciones (API) para la familia de protocolos de Internet TCP/IP, provista usualmente por
el sistema operativo.
• Los sockets de Internet constituyen el mecanismo para la entrega de paquetes de datos
provenientes de la tarjeta de red a los procesos o hilos apropiados. Un socket queda definido
por un par de direcciones IP local y remota, un protocolo de transporte y un par de números
de puerto local y remoto.
Clase Socket
La clase Socket del paquete java.net es fácil de usar comparada con la que proporcionan otros lenguajes.
Java oculta las complejidades derivadas del establecimiento de la conexión de red y del envío
de datos a través de ella. En esencia, el paquete java.net
proporciona la misma interfaz de programación que se utiliza cuando se trabaja con archivos.
Ejemplo
• El siguiente ejemplo, ClienteFecha.java, muestra la implementación de un cliente que accede al
servicio UNIX ``fecha y hora". El servidor concreto al que se conecta es al ``localhost". El servicio
``fecha y hora", por convenio, siempre está en el puerto 13. Lo que ocurre es que el software del
servidor está ejecutándose continuamente en la máquina remota, esperando cualquier tráfico
de red que ``hable con él" en el puerto 13. Cuando el Sistema Operativo de este servidor
recupera un paquete de red que contiene una petición para conectar con el puerto 13, activa el
servicio de escucha del servidor y establece la conexión, que permanece activa hasta que es
finalizada por alguna de las dos partes.
import java.net.*;
import java.io.*;
import java.util.*;
class ClienteFecha {
public static void main( String[] args ) {
String servidor = "localhost";
int puerto = 13; // puerto de daytime
try {
// Se abre un socket conectado al servidor y al
// puerto estándar de echo
Socket socket = new Socket( servidor,puerto );
System.out.println( "Socket Abierto." );
// Se consigue el canal de entrada BufferedReader entrada = new BufferedReader(
new InputStreamReader( socket.getInputStream() ) );
System.out.println( "Hora actual en localhost:" );
System.out.println( "t"+entrada.readLine() );
System.out.println( "Hora actual con la clase date:" );
System.out.println( "t" + new Date() );
// Se cierra el canal de entrada entrada.close();
// Se cierra el socket socket.close();
} catch( UnknownHostException e ) {
System.out.println( e );
System.out.println(
“Debes estar conectado para que esto funcione bien." );
} catch( IOException e ) {
System.out.println( e );
}
}
}
Clase Serversocket
La clase ServerSocket es la que se utiliza a la hora de crear servidores,
al igual que como se ha visto, la clase Socket se utilizaba para crear clientes.
Ejemplo
Este ejemplo muestra cómo escribir un servidor y su cliente.
Está sacado del Tutorial de Java de Sun. El servidor sirve chistes.
Funciona de la siguiente forma:
miranda:~/clases/psd/> java KnockKnockClient
Server: Knock! Knock! Who's there?
Client: Who's there?
Server: Turnip Turnip who?
Client: Turnip who?
Server: Turnip the heat, it's cold in here! Want another? (y/n) n
Client: n
Server: Bye.
miranda:~/clases/psd/>
El ejemplo consta de dos programas
Java ejecutándose de forma independiente
KnockKnockClient y KnockKnockServer. Sin embargo, está constituido por tres ficheros:
•KnockKnockServer.java (implementación del Servidor)
•KnockKnockProtocol.java (implementación del protocolo)
•KnockKnockClient.java (implementación del cliente)

Más contenido relacionado

La actualidad más candente

La actualidad más candente (18)

La capa de aplicación
La capa de aplicaciónLa capa de aplicación
La capa de aplicación
 
Tarea 3.2
Tarea  3.2Tarea  3.2
Tarea 3.2
 
Sockets en c
Sockets en cSockets en c
Sockets en c
 
Ejemplos programacion socket java
Ejemplos programacion socket javaEjemplos programacion socket java
Ejemplos programacion socket java
 
Sockets TCP
Sockets TCPSockets TCP
Sockets TCP
 
Conceptos nat
Conceptos natConceptos nat
Conceptos nat
 
Uso de-telnet-708-mddd5d
Uso de-telnet-708-mddd5dUso de-telnet-708-mddd5d
Uso de-telnet-708-mddd5d
 
García.Figueroa utilerias
García.Figueroa utileriasGarcía.Figueroa utilerias
García.Figueroa utilerias
 
Utilerias
UtileriasUtilerias
Utilerias
 
Comandos para redes
Comandos para redesComandos para redes
Comandos para redes
 
Socket
SocketSocket
Socket
 
Sockets UDP
Sockets UDPSockets UDP
Sockets UDP
 
Curso Redes Linex 2
Curso Redes Linex 2Curso Redes Linex 2
Curso Redes Linex 2
 
Comandos de redes en windows 7
Comandos de redes en windows 7Comandos de redes en windows 7
Comandos de redes en windows 7
 
Comandos redwindows
Comandos redwindowsComandos redwindows
Comandos redwindows
 
Configuracion de Firewalls e Pasarelas
Configuracion de Firewalls e PasarelasConfiguracion de Firewalls e Pasarelas
Configuracion de Firewalls e Pasarelas
 
Protocolo tftp trabajo
Protocolo tftp trabajoProtocolo tftp trabajo
Protocolo tftp trabajo
 
Redes de area local
Redes de area localRedes de area local
Redes de area local
 

Similar a Sockets/ tcp (20)

Desarrollo aplicaciones distribuidas sockets
Desarrollo aplicaciones distribuidas socketsDesarrollo aplicaciones distribuidas sockets
Desarrollo aplicaciones distribuidas sockets
 
Sockets java
Sockets javaSockets java
Sockets java
 
Networking
NetworkingNetworking
Networking
 
Semana 8 api de socket
Semana  8 api de socketSemana  8 api de socket
Semana 8 api de socket
 
Comunicacion intra procesos con socket
Comunicacion intra procesos con socketComunicacion intra procesos con socket
Comunicacion intra procesos con socket
 
Sockets
SocketsSockets
Sockets
 
Sockets
SocketsSockets
Sockets
 
Sockets en JAVA
Sockets en JAVASockets en JAVA
Sockets en JAVA
 
api_de_socket [Explicación Completa]
api_de_socket [Explicación Completa]api_de_socket [Explicación Completa]
api_de_socket [Explicación Completa]
 
1. Ingreso a las redes. Protocolos de internet
1. Ingreso a las redes. Protocolos de internet1. Ingreso a las redes. Protocolos de internet
1. Ingreso a las redes. Protocolos de internet
 
Sockets
SocketsSockets
Sockets
 
Programacionclienteservidor
ProgramacionclienteservidorProgramacionclienteservidor
Programacionclienteservidor
 
Sockets En Python Por Antoni Luque Delgado
Sockets En Python Por Antoni Luque DelgadoSockets En Python Por Antoni Luque Delgado
Sockets En Python Por Antoni Luque Delgado
 
Sistemas operativos distribuidos ii
Sistemas operativos distribuidos iiSistemas operativos distribuidos ii
Sistemas operativos distribuidos ii
 
Sockets y servidores
Sockets y servidoresSockets y servidores
Sockets y servidores
 
Edwin
EdwinEdwin
Edwin
 
que es un socket
que es un socketque es un socket
que es un socket
 
Edwin
EdwinEdwin
Edwin
 
Socket
SocketSocket
Socket
 
Programación web con JSP
Programación web con JSPProgramación web con JSP
Programación web con JSP
 

Último

programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...JAVIER SOLIS NOYOLA
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
TEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfTEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfDannyTola1
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas123yudy
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPELaura Chacón
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docxAgustinaNuez21
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 

Último (20)

programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
TEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfTEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdf
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPE
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docx
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 

Sockets/ tcp

  • 2. ¿Qué es un socket? • Socket designa un concepto abstracto por el cual dos programas (posiblemente situados en computadoras distintas) pueden intercambiar cualquier flujo de datos, generalmente de manera fiable y ordenada. • El término socket es también usado como el nombre de una interfaz de programación de aplicaciones (API) para la familia de protocolos de Internet TCP/IP, provista usualmente por el sistema operativo. • Los sockets de Internet constituyen el mecanismo para la entrega de paquetes de datos provenientes de la tarjeta de red a los procesos o hilos apropiados. Un socket queda definido por un par de direcciones IP local y remota, un protocolo de transporte y un par de números de puerto local y remoto.
  • 3. Clase Socket La clase Socket del paquete java.net es fácil de usar comparada con la que proporcionan otros lenguajes. Java oculta las complejidades derivadas del establecimiento de la conexión de red y del envío de datos a través de ella. En esencia, el paquete java.net proporciona la misma interfaz de programación que se utiliza cuando se trabaja con archivos.
  • 4. Ejemplo • El siguiente ejemplo, ClienteFecha.java, muestra la implementación de un cliente que accede al servicio UNIX ``fecha y hora". El servidor concreto al que se conecta es al ``localhost". El servicio ``fecha y hora", por convenio, siempre está en el puerto 13. Lo que ocurre es que el software del servidor está ejecutándose continuamente en la máquina remota, esperando cualquier tráfico de red que ``hable con él" en el puerto 13. Cuando el Sistema Operativo de este servidor recupera un paquete de red que contiene una petición para conectar con el puerto 13, activa el servicio de escucha del servidor y establece la conexión, que permanece activa hasta que es finalizada por alguna de las dos partes.
  • 5. import java.net.*; import java.io.*; import java.util.*; class ClienteFecha { public static void main( String[] args ) { String servidor = "localhost"; int puerto = 13; // puerto de daytime try { // Se abre un socket conectado al servidor y al // puerto estándar de echo Socket socket = new Socket( servidor,puerto ); System.out.println( "Socket Abierto." ); // Se consigue el canal de entrada BufferedReader entrada = new BufferedReader( new InputStreamReader( socket.getInputStream() ) ); System.out.println( "Hora actual en localhost:" ); System.out.println( "t"+entrada.readLine() ); System.out.println( "Hora actual con la clase date:" ); System.out.println( "t" + new Date() ); // Se cierra el canal de entrada entrada.close(); // Se cierra el socket socket.close(); } catch( UnknownHostException e ) { System.out.println( e ); System.out.println( “Debes estar conectado para que esto funcione bien." ); } catch( IOException e ) { System.out.println( e ); } } }
  • 6. Clase Serversocket La clase ServerSocket es la que se utiliza a la hora de crear servidores, al igual que como se ha visto, la clase Socket se utilizaba para crear clientes.
  • 7. Ejemplo Este ejemplo muestra cómo escribir un servidor y su cliente. Está sacado del Tutorial de Java de Sun. El servidor sirve chistes. Funciona de la siguiente forma: miranda:~/clases/psd/> java KnockKnockClient Server: Knock! Knock! Who's there? Client: Who's there? Server: Turnip Turnip who? Client: Turnip who? Server: Turnip the heat, it's cold in here! Want another? (y/n) n Client: n Server: Bye. miranda:~/clases/psd/> El ejemplo consta de dos programas Java ejecutándose de forma independiente KnockKnockClient y KnockKnockServer. Sin embargo, está constituido por tres ficheros: •KnockKnockServer.java (implementación del Servidor) •KnockKnockProtocol.java (implementación del protocolo) •KnockKnockClient.java (implementación del cliente)