winsock之getsockopt()
来源:互联网 发布:mac电源已接通 灯不亮 编辑:程序博客网 时间:2024/06/07 18:31
getsockopt()
简述:
获取一个套接口选项。
头文件
winsock2.h原型:
int getsockopt(int sockfd, int level, int optname, void *optval, socklen_t *optlen);参数
sockfd:一个标识套接口的描述字。 level:选项定义的层次。支持的层次仅有SOL_SOCKET和IPPROTO_TCP。 optname:需获取的套接口选项。 optval:指针,指向存放所获得选项值的缓冲区。 optlen:指针,指向optval缓冲区的长度值。返回值:
若无错误发生,getsockopt()返回0。否则的话,返回SOCKET_ERROR错误,应用程序可通过WSAGetLastError()获取相应错误代码。 错误代码: WSANOTINITIALISED:在使用此API之前应首先成功地调用WSAStartup()。 WSAENETDOWN:WINDOWS套接口实现检测到网络子系统失效。 WSAEFAULT:optlen参数非法。 WSAEINPROGRESS:一个阻塞的WINDOWS套接口调用正在运行中。 WSAENOPROTOOPT:未知或不支持选项。其中,SOCK_STREAM类型的套接口不支持SO_BROADCAST选项,SOCK_DGRAM类型的套接口不支持SO_ACCEPTCONN、SO_DONTLINGER 、SO_KEEPALIVE、SO_LINGER和SO_OOBINLINE选项。 WSAENOTSOCK:描述字不是一个套接口。注释:
getsockopt()函数用于获取任意类型、任意状态套接口的选项当前值,并把结果存入optval。在不同协议层上存在选项,但往往是在最高的“套接口”层次上,设置选项影响套接口的操作,诸如操作的阻塞与否、包的选径方式、带外数据的传送等。 被选中选项的值放在optval缓冲区中。optlen所指向的整形数在初始时包含缓冲区的长度,在调用返回时被置为实际值的长度。对SO_LINGER选项而言,相当于linger结构的大小,对其他选项来说,是一个整形数的大小。 如果未进行setsockopt()调用,则getsockopt()返回系统缺省值。 getsockopt()支持下列选项。其中“类型”栏指出了optval所指向的值。仅有TCP_NODELAY选项使用了IPPROTO_TCP层;其余选项均使用SOL_SOCKET层。 选项 类型 意义 SO_ACCEPTCONN BOOL 套接口正在用listen()监听。 SO_BROADCAST BOOL 套接口设置为传送广播信息。 SO_DEBUG BOOL 允许调试。 SO_DONTLINER BOOL 若为真,则SO_LINGER选项被禁止。 SO_DONTROUTE BOOL 禁止选径。 SO_ERROR int 获取错误状态并清除。 SO_KEEPALIVE BOOL 发送“保持活动”信息。 SO_LINGER struct linger FAR* 返回当前各linger选项。 SO_OOBINLINE BOOL 在普通数据流中接收带外数据。 SO_RCVBUF int 接收缓冲区大小。 SO_REUSEADDR BOOL 套接口能和一个已在使用中的地址捆绑。 SO_SNDBUF int 发送缓冲区大小。 SO_TYPE int 套接口类型(如SOCK_STREAM)。 TCP_NODELAY BOOL 禁止发送合并的Nagle算法。 getsockopt()不支持的BSD选项有: 选项名 类型 意义 SO_RCVLOWAT int 接收低级水印。 SO_RCVTIMEO int 接收超时。 SO_SNDLOWAT int 发送低级水印。 SO_SNDTIMEO int 发送超时。 IP_OPTIONS 获取IP头中选项。 TCP_MAXSEG int 获取TCP最大段的长度。 用一个未被支持的选项去调用getsockopt()将会返回一个WSAENOPROTOOPT错误代码(可用WSAGetLastError()获取)。- winsock之getsockopt()
- winsock下getsockopt和setsockopt整理
- Winsock(三)setsockopt,getsockopt和ioctlsocket
- getsockopt
- getsockopt()
- getsockopt
- getsockopt
- getsockopt
- getsockopt
- socket之setsockopt()和getsockopt()函数
- linux系统编程之getsockopt/setsockopt 函数
- 套接字选项之getsockopt和setsockopt
- Winsock程序设计初步之 Winsock编程原理
- Winsock使用之开始使用Winsock
- Winsock使用之Winsock服务器程序
- winsock 编程之初步
- WinSock之基础API
- winsock之setsockopt()
- winsock之setsockopt()
- windbg双机调试时,不显示command窗口
- 关于一个新产品
- eclipse保存个人设置preference
- 安装QT插件(qt-vs-addin)后,vs2008无法启动的问题
- winsock之getsockopt()
- 我们要懂的
- Makefile之wildcard
- mysql5.1安装图解教程
- GridControl详解(二)表格的列名配置
- winsock之ioctlsocket()
- Windbg命令
- Objective-C语法之Object对象的那些事儿(五)
- winsock之WSAAsyncSelect()