Cómo encontrar el tamaño del búfer del zócalo de Linux

¿Cuál es el tamaño del buffer de socket predeterminado de Linux? ¿Hay algún comando para verlo?

Si quieres ver el tamaño de tu buffer en la terminal, puedes echar un vistazo a:

  • /proc/sys/net/ipv4/tcp_rmem (para leer)
  • /proc/sys/net/ipv4/tcp_wmem (para escritura)

Contienen tres números, que son los valores mínimo, predeterminado y máximo de tamaño de memoria (en byte), respectivamente.

Para obtener el tamaño del búfer en el progtwig c / c ++, el siguiente es el flujo

 int n; unsigned int m = sizeof(n); int fdsocket; fdsocket = socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP); // example getsockopt(fdsocket,SOL_SOCKET,SO_RCVBUF,(void *)&n, &m); // now the variable n will have the socket size 

El tamaño atómico es 4096 bytes, el tamaño máximo es 65536 bytes. Sendfile usa 16 tubos cada uno con un tamaño de 4096 bytes. cmd: ioctl (fd, FIONREAD, y buff_size).