阅读更多
1、TCP_NODELAY是唯一使用IPPROTO_TCP层的选项,其他所有选项都使用SOL_SOCKET层
2、 SO_BROADCAST BOOL 允许套接口传送广播信息。
讲广播的http://cloudhe.iteye.com/blog/201725
SO_DEBUG BOOL 记录调试信息。
SO_DONTLINER BOOL 不要因为数据未发送就阻塞关闭操作。设置本选项相当于将 SO_LINGER的l_onoff元素置为零。
SO_DONTROUTE BOOL 禁止选径;直接传送。http://blog.chinaunix.net/u/270/showart_235480.html
SO_DONTROUTE
Don't send via a gateway, only send to directly connected hosts.
The same effect can be achieved by setting the MSG_DONTROUTE
flag on a socket send(2) operation. Expects an integer booleanflag.
SO_KEEPALIVE BOOL 发送“保持活动”包。http://blog.csdn.net/gavin1203/archive/2010/02/05/5290609.aspx
SO_LINGER struct linger FAR* 如关闭时有未发送数据,则逗留。
http://woxihuanpes.blog.163.com/blog/static/124232198200910172243940/
SO_OOBINLINE BOOL 在常规数据流中接收带外数据。
SO_RCVBUF int 为接收确定缓冲区大小。
http://zhangyafeikimi.iteye.com/blog/289019
SO_REUSEADDR BOOL 允许套接口和一个已在使用中的地址捆绑(参见bind())。
SO_SNDBUF int 指定发送缓冲区大小。
TCP_NODELAY BOOL 禁止发送合并的Nagle算法。
http://yaoweibin2008.blog.163.com/blog/static/1103139201021842313188/
setsockopt()不支持的BSD选项有:
选项名 类型 意义
SO_ACCEPTCONN BOOL 套接口在监听。
SO_ERROR int 获取错误状态并清除。
SO_RCVLOWAT int 接收低级水印。
SO_RCVTIMEO int 接收超时。
SO_SNDLOWAT int 发送低级水印。
SO_SNDTIMEO int 发送超时。
SO_TYPE int 套接口类型。
IP_OPTIONS 在IP头中设置选项。