Tecnología

Inicio

Cómo cambiar una ranura de bloqueo de sin bloqueo

La configuración por defecto para el protocolo de control de transmisión, o TCP, sockets de servidor está bloqueando modo. Cuando la aplicación intenta conectarse con el servidor a través de un socket TCP bloqueado, la aplicación va a colgar hasta que se establezca una conexión o un error que interrumpe los intentos de conexión. Sin embargo, mediante el establecimiento de los sockets TCP de no-bloqueo, se puede hacer una petición del servidor de la aplicación más dinámica y evitar quedarse atascado en una petición.

Instrucciones

1 Comience su entorno de desarrollo integrado (IDE), como Visual Studio o Netbeans. Cargar su aplicación y abrir la ventana del formulario que contiene el código de servidor TCP de la aplicación.

2 Llame a la "API ioctlsocket." Tipo "#include <sys / types.h>", "#include <sys / socket.h>" y "#include <sys / ioctl.h>" en tres líneas separadas en el código de servidor para invocar la programación de aplicaciones ioctlsock interfaz o API. La API ioctsock le permitirá configurar su zócalo.

3 Tipo "int dontblock;" "Rc int;" y "int server_sock" en los próximos tres líneas de tener su programa de inicializar opciones de bloqueo del socket o "banderas".

4 Tipo "dontblock = 1;" y pulsa "Enter". Tipo "rc = ioctl (server_sock, FIONBIO, (char *) y dontblock);" para establecer la bandera de su servidor de socket de bloqueo / no-bloqueo a modo de "no-bloqueo".

5 Compilar el programa, utilizando la opción de compilación de su IDE. Seleccionar la opción de depuración del IDE para poner a prueba su programa para los comandos válidos.