b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

setsockopt socket_error_socket_error_socket setsotimeout

电脑杂谈  发布时间:2017-05-14 03:11:09  来源:网络整理

setsockopt socket_error_socket setsotimeout_socket_error

简述:

获取一个套接口选项。

#include <winsock.h>

int PASCAL FAR getsockopt( SOCKET s, int level, int optname,

char FAR* optval, int FAR* optlen);

s:一个标识套接口的描述字。

level:选项定义的层次。支持的层次仅有SOL_SOCKET和IPPROTO_TCP。

optname:需获取的套接口选项。

optval:指针,指向存放所获得选项的缓冲区。

optlen:指针,指向optval缓冲区的长度。

注释:

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()获取)。

返回:

若无错误发生,getsockopt()返回0。否则的话,返回SOCKET_ERROR错误,应用程序可通过WSAGetLastError()获取相应错误代码。

错误代码:

WSANOTINITIALISED:在使用此API之前应首先成功地调用WSAStartup()。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-46987-1.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...