Función SetSockopt en C

Función SetSockopt en C
“Una función setSockOpt () es un concepto muy importante relacionado con las redes en el idioma C. Es una función muy útil relacionada con el socket. Para conocer esta función, primero tenemos que conocer el concepto de un enchufe.

Un socket es un software incorporado que controla la red total y se trata como un punto final para enviar y recibir paquetes (datos) en toda la red. Se comporta como un comunicador entre dos nodos en las mismas o diferentes redes.

setSockOpt () es una función en la programación de socket (programa de aplicación) para controlar esta comunicación y asignar algo de espacio de búfer, control de tiempo y en el campo de transmisión."

Características de la función setSockOpt ()

1. Archivo de encabezado: la función setSockOpt () es una función predefinida que la definición se escribe en un archivo de encabezado en la biblioteca C llamado archivo de encabezado.

2. sintaxis: int setSockOpt (int socket, int nivel, int opcion_name, const void *option_value, socketlen_t opcion_len);

3. return: si la función setSockOpt () se ejecuta correctamente, devuelve cero. Pero la ejecución fallida de la función setSockOpt () devuelve 0. Para esto devuelve un valor entero.

Aplicación de la función setSockOpt ()

La función setSockOpt () es API. Usando esta API, podemos configurar nuestro servidor o proporcionar la opción a nuestro servidor para escuchar la misma parte.

Ejemplo 1

Háganos saber sobre la implementación de la función setSockOpt () en este ejemplo de programación.

#incluir
#incluir
#incluir
#incluir
#incluir
#incluir
#incluir
#incluir
int main ()

int x1, x2, x3, x4;
if ((x1 = socket (AF_Inet, Sock_stream, 0)) < 0 )

Perror ("Verificar el dispositivo:");
salida (0);

x4 = sizeof (x2);
if (getSockOpt (x1, ipproto_tcp, tcp_maxseg, (char*) y x2, y x4) < 0 )

Perror ("El error ocurrió debido a la falla de la función:");
salida (0);

printf ("\ n El valor probable de x2 es: = %d", x2);
x3 = 12324;
if (setsockopt (x1, sol_socket, so_sndbuf, (char*) y x3, sizeof (x3)) < 0 )

Perror ("Las posibilidades de no responder");
salida (0);

x4 = sizeof (x3);
if (getSockOpt (x1, sol_socket, so_sndbuf, (char*) y x3, y x4) < 0 )

Perror ("La función no responde correctamente:");
salida (0);

printf ("\ n El valor del búfer es = %d \ n", x3);
regresar 0;

Producción

Explicación

Para ejecutar este programa, tenemos que incluir algún archivo de encabezado en nuestro código fuente como, y . Al principio, crearemos un socket para llamar a una función estándar socket () y pasar algunos parámetros estándar dentro de su paréntesis. Ahora llamaremos a la función getSockOpt () para tomar el valor actualizado para un socket y almacenarlo dentro de una variable nombrada x2. Ahora estableceremos el valor en el socket llamando a la función setSockOpt (). Después de eso, verificaremos nuevamente el valor para el socket en el búfer usando la función getSockOpt () e imprimiremos su valor.

Ejemplo-2

Aquí veremos otro ejemplo de la función setSockpt ().

#incluir
#incluir
#incluir
#incluir
#incluir
#incluir
int main (nulo);
int main ()

int x1;
int x2;
Socklen_t x3 = sizeof (x2);
/ * Crear la definición funcional */
if ((x1 = socket (pf_inet, sock_stream, ipproto_tcp)) < 0 )

Perror ("Crear el dispositivo:");
salida (exit_failure);

/ * Comprobación de la condición del dispositivo funcional */
if (getSockOpt (x1, sol_socket, so_keepalive y x2 y x3) < 0 )

Perror ("La función no puede responder correctamente:");
cerrar (x1);
salida (exit_failure);

printf ("El estado de la función de respuesta es: %s \ n", (x2 ? " ENCENDIDO APAGADO " ) ) ;
/ * Activar la opción funcional */
x2 = 1;
x3 = sizeof (x2);
if (setSockOpt (x1, sol_socket, so_keepalive y x2, x3) < 0 )

perror ("detectar alguna falla");
cerrar (x1);
salida (exit_failure);

printf ("Este valor funcional está instalado: \ n");
/ * Verifique el estado nuevamente */
if (getSockOpt (x1, sol_socket, so_keepalive y x2 y x3) < 0 )

Perror ("Verificar otra vez:");
cerrar (x1);
salida (exit_failure);

printf ("Verificar la respuesta en curso: %s \ n", (x2 ? " ENCENDIDO APAGADO " ) ) ;
cerrar (x1);
salir (exit_success);
regresar 0;

Producción

Explicación

En este ejemplo de programación, primero crearemos un socket con la ayuda de la función Socket () y pasaremos algunos argumentos dentro de su paréntesis para hacer el socket. Después de eso, llamaremos a la función getSockOpt () para verificar los estados del socket. Ahora llamaremos a la función setSockOpt () para establecer el estado en modo activo. Ahora veremos nuevamente el estado del socket para ejecutar la función getSockOpt () e imprimiremos el estado actual del socket usando "Encendido o apagado" modo. En realidad, con la ayuda de este programa, queremos entender si el estado Keepalive del socket está activo o no.

Conclusión

A partir de las características, la implementación y el ejemplo de programación de la función setSockOpt (), es muy bien claro para nosotros que esta función es realmente útil en el caso del socket en los diferentes niveles de red. Con la ayuda de la función setSockOpt (), podemos hacer diferentes cosas como manipular la longitud del búfer de envío y recepción, sus tiempos de espera, etc. Nos proporciona la instalación de la multidifusión también.