¿Conectar está bloqueando?
¿Conectar está bloqueando?

Video: ¿Conectar está bloqueando?

Video: ¿Conectar está bloqueando?
Video: Como Conectarse a una red WiFi dónde estás bloqueado 2024, Noviembre
Anonim

conectar es un bloqueo llamar de forma predeterminada, pero puede hacer que no bloqueo pasando al socket la bandera SOCK_NONBLOCK. conectar () se bloquea hasta finalizar el protocolo de enlace de 3 vías de TCP. El protocolo de enlace en el lado de escucha es manejado por la pila TCP / IP en el kernel y finaliza sin notificar al proceso del usuario.

Del mismo modo, se pregunta, ¿qué es el zócalo bloqueante y no bloqueante?

En bloqueo modo, el recv, enviar, conectar (solo TCP) y aceptar (solo TCP) enchufe Las llamadas a la API cuadra indefinidamente hasta que se haya realizado la acción solicitada. En no - bloqueo modo, estas funciones regresan inmediatamente. seleccionar voluntad cuadra hasta el enchufe está listo.

¿Qué es una función de bloqueo? A función de bloqueo básicamente calcula para siempre. Eso es lo que quiere decir con bloqueo . Otro funciones de bloqueo esperaría a que ocurriera IO. un no bloqueo El sistema IO significa un función inicia una acción de E / S, luego permanece inactiva y luego maneja el resultado de la acción de E / S cuando ocurre.

Posteriormente, la pregunta es, ¿se acepta el bloqueo de socket?

aceptar () bloquea a la persona que llama hasta que haya una conexión. Si no hay espacio para mensajes disponible en el enchufe para retener el mensaje que se va a transmitir, luego send () normalmente se bloquea. Si no hay mensajes disponibles en el enchufe , la llamada de recepción espera a que llegue un mensaje.

¿Se selecciona un bloque?

Si el argumento de tiempo de espera apunta a un objeto de tipo struct timeval cuyos miembros son 0, Seleccione () no cuadra . Si el argumento de tiempo de espera es NULL, Seleccione () se bloquea hasta que un evento hace que una de las máscaras se devuelva con un valor válido (distinto de cero).

Recomendado: