套接字选项

套接字选项是我们网络编程中很重要的一点,有很多方式去设置或者查看一个socket的选项

  1. getsocketopt / setsocketopt
  2. fcntl
  3. ioctl

ip套接字选项图

套接字选项

tcp套接字选项

套接字选项

特殊套接字选项

有些套接字选项也不是所有的可以直接设置或者查看的,有些选项是需要相应的时机我们才能设置。比如 tcp 的已连接节点(必须得成功完成三次握手的socket)的一些选项

  • SO_DEBUG
  • SO_DONTROUTE
  • SO_SNDBUF
  • SO_RECVBUF
  • SO_SNDLOWAT (udp/tcp默认为2048)
  • SO_RECVLOWAT(udp/tcp默认为1)
  • TCP_MAXSEG
  • TCP_NODELAY(不开启nagle算法,nagle算法为了避免拥塞,让小块数据一起发送,而不一个一个发送)
  • SO_KEEPALIVE(设置后可定期的以tcp的角度去查看连接是否正常)
  • SO_LINGER (描述关闭套接字时候的一些设置)
  • SO_OOBINLINE

所以为了确保我们通过服务器成功接受的套接字设置了这些选项,我们必须要给listensocket设置这些选项,那么accept的套接字是会继承这些选项的。

Tcp选项

  其选项头文件在 netinet/tcp.h 中

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-07-21
  • 2021-11-21
  • 2022-12-23
  • 2021-06-02
  • 2021-12-07
猜你喜欢
  • 2022-03-01
  • 2022-02-09
  • 2022-01-14
  • 2021-11-20
  • 2021-11-25
相关资源
相似解决方案