getsockopt()
setsockopt()
optval中的返回值,0表示选项关闭,1表示选项打开
SO_BROADCAST套接口选项:
能或禁止进程发送广播消息的能力。防止进程在应用程序未设计完成能广播时就发送广播信息。
SO_DEBUG套接口选项:
内核对TCP在此套接口所发送和接受的所有分组跟踪详细信息。
SO_DONTROUTE套接口选项:
规定发出的分组将旁路底层协议的正常路由机制。对于IPV4,分组指向本地接口
SO_ERROR套接口选项:
当套接口上发生错误时,内核通过下面两种方式通知进程:
1
进程阻塞于select调用,select返回并设置其中的一个或者两个条件
2
进程使用驱动IO模型,给进程或进程组生成信号SIGIO
SO_KEEPALIVE套接口选项:
为了检测对方主机是否崩溃
如果设置存活选项后,若两个小时内都没有数据交换,则自动发送给对方一个保持存活探测分节。
1
对方以期望的ACK响应,一切正常
2
对方以RST响应,告知已经崩溃,并重启
3
如果一直没有反应,套接口关闭
SO_LINGER套接口选项:
指定函数close对面向连接的协议如何操作。
TCP_KEEPALIVE套接口选项:
指定TCP发送保持存活探测分节前以秒为单位的连接空闲时间。缺省为7200秒
TCP_MAXRT套接口选项:
指定一旦TCP开始重传数据,连接断开之前需经理的时间总量。
TCP_MAXSEG套接口选项:
获取或设置TCP连接的最大分节大小MSS
TCP_NODELAY套接口选项:
禁止TCP的Nagle算法
TCP_STDURG套接口选项
影响对TCP紧急指针的解释
fcntl ----
file control文件控制,进行各种描述字控制操作。