socket套接字选项

socket.setsockopt(leveloptnamevalue)

          ↑    ↑

          ↑    →[SO_KEEPALIVE ,

            ↑      SO_LINGER ,

          ↑        SO_RCVBUF ,

          ↑        SO_SNDBUF ,

          ↑          SO_RCVLOWAT ,SO_SNDLOWAT ,

          ↑        SO_RCVTIMEO , SO_SNDTIMEO,

          ↑      SO_REUSEADDR]

          按照参数选项级别level值的不同

            套接字选项分为3大类

         1.通用套接字选项:SOL_SOCKET

         2.IP选项:    IPPROTO_IP    为了获取IP层的参数

         3.tcp选项:    IPPROTO_TCP   为了获取TCP层的参数

一般情况下 都是 使用 SOL_SOCKET level  的选项

时间: 2024-11-05 00:55:05

socket套接字选项的相关文章

SO_REUSEADDR 套接字选项应用实例

网络上关于SO_REUSEADDR套接字选项用来解决地址重用问题的资料不少,但只停留在文字表达上,并没有实例,很容易误导初学者,并产生疑惑,此处不再赘述.下面通过一个简短的例子来展示如何在项目中合理的使用该选项,以及需要注意的问题. 关于TCP断开连接四次握手,如图所示 应用场景: 之前项目中遇到一个问题,聊天服务器的开启,关闭和重启,例如将服务器关闭后,实际上关闭了服务器的监听套接字(close),如果此时用户点击开启服务器,那么用户希望的情况是服务器又立即启动了.而由于close后,执行了主

套接字选项

套接字选项,超高级货,赛车的按钮盘 getsockopt和setsockopt 原型:int getsockopt(int s,int level,int opname,void *optval,socklen_t *optlen); 原型:int setsockopt(int s,int level,int optname,const void *optval,socklen_t optlen); s为将要获取或设置的套接字描述符,可以通过socket函数获取 level为选项所在的协议层 o

linux程序设计——套接字选项(第十五章)

现在可以改进客户程序,使它可以连接到任何有名字的主机,这次不是连接到示例服务器,而是连接到一个标准服务,这样就可以演示端口号的提取操作了. 大多数UNIX和一些linux系统都有一项标准服务daytime,它提供系统的日期和时间.客户可以连接到这个服务来查看服务器的当前日期和时间.下面就是完成这一工作的客户程序getdate.c 编写程序getdate.c /*********************************************************************

Linux C利用Socket套接字进行服务器与多个客户端进行通讯

服务器端 #include <stdlib.h> #include <sys/types.h> #include <stdio.h> #include <sys/socket.h> #include <string.h> #include <signal.h> #include <arpa/inet.h> #include <unistd.h> #include <pthread.h> //服务器端

Python开发基础-Day23try异常处理、socket套接字基础1

异常处理 错误 程序里的错误一般分为两种: 1.语法错误,这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正 2.逻辑错误,人为造成的错误,如数据类型错误.调用方法错误等,这些解释器是不会进行检测的,只有在执行的过程中才能抛出的错误 异常 异常是python解释器在运行程序的过程中遇到错误所抛出的信息,如: Python异常种类: 常用异常: 1 AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x 2 IOError 输入/输出异

第7章套接字选项

一般通过以下函数设置套接字选项:getsockopt和setsockopt函数;fcntl函数;ioctl函数 #include <sys/types.h> /* See NOTES */ #include <sys/socket.h> int getsockopt(int sockfd, int level, int optname, void *optval, socklen_t *optlen); int setsockopt(int sockfd, int level, i

Python开发基础----异常处理、socket套接字基础1

异常处理 错误 程序里的错误一般分为两种: 1.语法错误,这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正 2.逻辑错误,人为造成的错误,如数据类型错误.调用方法错误等,这些解释器是不会进行检测的,只有在执行的过程中才能抛出的错误 异常 异常是python解释器在运行程序的过程中遇到错误所抛出的信息,如: Python异常种类: 常用异常: 1 AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x 2 IOError 输入/输出异

python基础之try异常处理、socket套接字基础part1

异常处理 错误 程序里的错误一般分为两种: 1.语法错误,这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正 2.逻辑错误,人为造成的错误,如数据类型错误.调用方法错误等,这些解释器是不会进行检测的,只有在执行的过程中才能抛出的错误 异常 异常是python解释器在运行程序的过程中遇到错误所抛出的信息,如: Python异常种类: 常用异常: 1 AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x 2 IOError 输入/输出异

Unix网络编程学习笔记之第7章 套接字选项

一.获取/设置套接字选项的方法 一个套接字描述符相关联的套接字选项很多.获取/设置套接字选项的方法: 1.  getsockopt和setsockopt函数 2. fcntl函数 3. ioctl函数 二. getsockopt和setsockopt函数 int getsockopt(int sockfd, int level, int optname, void* optval, socklen_t* optlen); int setsockopt(int sockfd, int level,