Red de conocimiento informático - Conocimiento del nombre de dominio - ¿Cómo leer un número entero de un flujo de datos de socket recibido?

¿Cómo leer un número entero de un flujo de datos de socket recibido?

Lo principal es que empaqueta los datos que se enviarán a través de la API del socket, y automáticamente los empaquetará en un flujo de datos para su transmisión.

1. ¿Qué es el enchufe?

Dos programas en la red intercambian datos a través de una conexión de comunicación bidireccional. Un extremo de esta conexión bidireccional se llama socket. Los sockets se utilizan comúnmente para conectar clientes y proveedores de servicios. Socket es una interfaz de programación de protocolo TCP/IP muy popular. Un Socket está determinado únicamente por una dirección IP y un número de puerto.

Pero TCP/IP no es el único protocolo soportado por Socket, por lo que no es necesaria una conexión entre ambos. En el entorno Java, la programación de Socket se refiere principalmente a la programación de red basada en el protocolo TCP/IP.

2. El proceso de comunicación por socket

El servidor monitorea el puerto en busca de solicitudes de conexión, el cliente envía una solicitud de conexión al servidor y el servidor envía un mensaje de aceptación al servidor. cliente. Conexión establecida. Tanto los servidores como los clientes pueden comunicarse entre sí mediante envío, escritura y otros métodos.

Para un socket completamente funcional, debe incluir la siguiente estructura básica, y su proceso de trabajo incluye los siguientes cuatro pasos básicos:

(1) Crear un socket;;

(2) Abrir el flujo de entrada/salida conectado al socket;

(3) Leer/escribir el socket de acuerdo con un determinado protocolo;

(4) Activar fuera del tomacorriente. (En aplicaciones reales, el cierre mostrado no se utiliza. Aunque muchos artículos lo recomiendan, en mi programa puede deberse a que el programa en sí es relativamente simple y los requisitos no son altos, por lo que no tiene ningún impacto).

3. Crear un socket

Crear un socket

Java proporciona dos categorías: Socket y ServerSocket en el paquete java.net, que se utilizan para representar bidireccional. conexiones respectivamente, del lado del cliente y del servidor. Estas son dos clases muy bien encapsuladas y muy cómodas de usar. El método de construcción es el siguiente:

Socket(dirección InetAddress, puerto int);

Socket(dirección InetAddress, puerto int, flujo booleano);

Socket (host de cadena, int prot);

Socket (host de cadena, int prot, flujo booleano);

Socket (implementación de SocketImpl)

Socket (host de cadena , int puerto, InetAddress localAddr, int localPort)

Socket (dirección, puerto, dirección, puerto)

ServerSocket (puerto int);

ServerSocket(int port, int backlog);

ServerSocket(int port, int backlog, InetAddress bindAddr)

Cliente de socket = nuevo socket (" 127.0.01. ", 80);

server socket server = new server socket(80);

Si ocurre un error al crear el socket, se generará una IOException y se deberá realizar en la dirección del programa. Por lo tanto, se deben detectar o lanzar excepciones al crear un Socket o ServerSocket.