LINUX网络编程--套接字选项
来源:互联网 发布:乐高机器人编程语言 编辑:程序博客网 时间:2024/05/18 22:40
Linux网络编程--8. 套接字选项 |
---|
来源:http://linuxc.51.net 作者:hoyt |
有时候我们要控制套接字的行为(如修改缓冲区的大小),这个时候我们就要控制套接字的选项了. 8.1 getsockopt和setsockopt int getsockopt(int sockfd,int level,int optname,void *optval,socklen_t *optlen) int setsockopt(int sockfd,int level,int optname,const void *optval,socklen_t *optlen) level指定控制套接字的层次.可以取三种值: 1)SOL_SOCKET:通用套接字选项. 2)IPPROTO_IP:IP选项. 3)IPPROTO_TCP:TCP选项. optname指定控制的方式(选项的名称),我们下面详细解释 optval获得或者是设置套接字选项.根据选项名称的数据类型进行转换 选项名称 说明 数据类型 ======================================================================== SOL_SOCKET ------------------------------------------------------------------------ SO_BROADCAST 允许发送广播数据 int SO_DEBUG 允许调试 int SO_DONTROUTE 不查找路由 int SO_ERROR 获得套接字错误 int SO_KEEPALIVE 保持连接 int SO_LINGER 延迟关闭连接 struct linger SO_OOBINLINE 带外数据放入正常数据流 int SO_RCVBUF 接收缓冲区大小 int SO_SNDBUF 发送缓冲区大小 int SO_RCVLOWAT 接收缓冲区下限 int SO_SNDLOWAT 发送缓冲区下限 int SO_RCVTIMEO 接收超时 struct timeval SO_SNDTIMEO 发送超时 struct timeval SO_REUSERADDR 允许重用本地地址和端口 int SO_TYPE 获得套接字类型 int SO_BSDCOMPAT 与BSD系统兼容 int ========================================================================== IPPROTO_IP -------------------------------------------------------------------------- IP_HDRINCL 在数据包中包含IP首部 int IP_OPTINOS IP首部选项 int IP_TOS 服务类型 IP_TTL 生存时间 int ========================================================================== IPPRO_TCP -------------------------------------------------------------------------- TCP_MAXSEG TCP最大数据段的大小 int TCP_NODELAY 不使用Nagle算法 int ========================================================================= 关于这些选项的详细情况请查看 Linux Programmer's Manual 8.2 ioctl ioctl可以控制所有的文件描述符的情况,这里介绍一下控制套接字的选项. int ioctl(int fd,int req,...) ========================================================================== ioctl的控制选项 -------------------------------------------------------------------------- SIOCATMARK 是否到达带外标记 int FIOASYNC 异步输入/输出标志 int FIONREAD 缓冲区可读的字节数 int ========================================================================== 详细的选项请用 man ioctl_list 查看. |
阅读全文
0 0
- Linux网络编程:8. 套接字选项
- Linux网络编程--8. 套接字选项
- Linux网络编程--8. 套接字选项
- Linux 网络编程 套接字选项
- LINUX网络编程--套接字选项
- 网络编程--套接字选项
- Linux网络编程之套接字选项设置
- Linux网络编程之套接字选项设置 .
- Linux网络编程(七) 套接字选项
- Linux网络编程之套接字选项设置
- Linux 之 网络编程之套接字选项
- 《unix网络编程》套接字选项
- 网络编程学习_套接字选项
- 网络编程-常用的套接字选项
- UNIX网络编程 TCP套接字选项
- Linux网络编程 套接字
- Linux网络编程 套接字
- Linux套接字网络编程
- LINUX网络编程-完整的读写函数
- LINUX网络编程-完整的读写函数
- LINUX网络编程-用户数据报发送
- LINUX网络编程--高级套接字函数
- LINUX网络编程--TCP/IP协议
- LINUX网络编程--套接字选项
- linux网络编程-服务器模型
- Python-random的用法
- linux网络编程--原始套接字
- live555 RTP数据读取流程
- centos6.8和ubuntu 16.04 安装nginx 1.8.1
- 成功人士的七个习惯
- jquery表单序列化
- 析达芬奇DM644x平台ARM中断处理流程