套接口选项

时间:2022-04-22
本文章向大家介绍套接口选项,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

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文件控制,进行各种描述字控制操作。