Comunicación por enchufe
Para comunicarse a través de Internet, se requiere al menos un par de sockets, uno de los cuales se ejecuta en el lado del cliente, llamado ClientSocket, y el otro se ejecuta en el lado del servidor, llamado ServerSocket. Dependiendo de cómo se inicia la conexión y del destino local a conectar, el proceso de conexión entre sockets se puede dividir en tres pasos: monitoreo del servidor, solicitud del cliente y confirmación de la conexión.
La supervisión del servidor significa que el socket del servidor no localiza el socket del cliente específico, sino que está en un estado de espera de conexión y monitorea el estado de la red en tiempo real.
La solicitud del cliente es una solicitud de conexión realizada por el socket del cliente y el objetivo a conectar es el socket del lado del servidor. Para hacer esto, el socket del cliente primero debe describir el socket del servidor al que desea conectarse, indicando la dirección y el número de puerto del socket del servidor, y luego realizar una solicitud de conexión al socket del lado del servidor.
La confirmación de conexión es cuando el socket del lado del servidor escucha o recibe una solicitud de conexión del socket del cliente, responde a la solicitud del socket del cliente, crea un nuevo hilo y la información del socket del lado del servidor es enviado al cliente, y una vez que el cliente reconoce la conexión, se establece la conexión. El servidor continúa en estado de escucha y continúa recibiendo solicitudes de conexión de otros clientes.
Existen dos modos básicos de uso de sockets para el procesamiento de datos: síncrono y asíncrono.
Modo síncrono:
La característica del modo síncrono es que al conectarse, recibir y enviar datos a través de Socket, el cliente y el servidor estarán en un estado de bloqueo antes de recibir la respuesta de la otra parte, es decir, espere hasta recibir la solicitud de la otra parte antes de continuar ejecutando la siguiente declaración. Se puede ver que el modo síncrono solo es adecuado para ocasiones en las que no hay mucho procesamiento de datos. Cuando un programa realiza muchas tareas, las largas esperas pueden resultar intolerables para los usuarios.
Modo asíncrono:
La característica del modo asíncrono es que al conectarse, recibir y enviar operaciones a través de Socket, el cliente o servidor no estará en modo bloqueo, sino que utilizará el Mecanismo de devolución de llamada. Procesamiento de conexión, recepción y envío, para que pueda regresar directamente después de llamar al método de envío o recepción y continuar ejecutando el siguiente programa. Se puede ver que los sockets asíncronos son particularmente adecuados para situaciones en las que se procesan grandes cantidades de datos.
La programación mediante sockets síncronos es relativamente sencilla, mientras que la programación mediante sockets asíncronos es más compleja.