套接字选项

套接字选项

套接字选项是我们网络编程中很重要的一点,有很多方式去设置或者查看一个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 中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值