第19章+套接口选项

第19章+套接口选项

ID:46300108

大小:142.50 KB

页数:43页

时间:2019-11-22

第19章+套接口选项_第1页
第19章+套接口选项_第2页
第19章+套接口选项_第3页
第19章+套接口选项_第4页
第19章+套接口选项_第5页
资源描述:

《第19章+套接口选项》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第19章套接口选项第19章套接口选项19.1套接口选项19.1.1SOL_SOCKET 19.1.2IPPROTO_IP 19.2广播19.2.1报文的发送19.2.2广播报文的接收19.3多播19.3.1一个简单的多播库19.3.2接收多播数据19.3.3发送多播数据19.4原始套接口编程19.4.1Ping程序19.4.2WinSniffer程序19.1套接口选项有两种套接口的选项:一种是布尔型选项,允许或禁止一种特性;另一种是整形或结构选项。允许一个布尔型选项,则将optval指向非零整形数;禁

2、止一个选项optval指向一个等于零的整形数。对于布尔型选项,optlen应等于sizeof(int);对其他选项,optval指向包含所需选项的整形数或结构,而optlen则为整形数或结构的长度。19.1套接口选项(setsockopt)简述:设置套接口的选项。#includeintsetsockopt(SOCKETs,intlevel,intoptname,constcharFAR*optval,intoptlen);s:标识一个套接口的描述字。level:选项定义的层次;目

3、前仅支持SOL_SOCKET和IPPROTO_TCP层次。optname:需设置的选项。optval:指针,指向存放选项值的缓冲区。optlen:optval缓冲区的长度。19.1套接口选项(setsockopt)注释:setsockopt()函数用于任意类型、任意状态套接口的设置选项值。尽管在不同协议层上存在选项,但本函数仅定义了最高的“套接口”层次上的选项。选项影响套接口的操作,诸如加急数据是否在普通数据流中接收,广播数据是否可以从套接口发送等等。19.1套接口选项(setsockopt)sets

4、ockopt()支持下列选项。其中“类型”表明optval所指数据的类型。选项类型意义SO_BROADCASTBOOL允许套接口传送广播信息SO_DEBUGBOOL记录调试信息SO_DONTLINERBOOL不要因为数据未发送就阻塞关闭操作。设置本选项相当于将SO_LINGER的l_onoff元素置为零SO_DONTROUTEBOOL禁止选径;直接传送SO_KEEPALIVEBOOL发送“保持活动”包SO_LINGERstructlingerFAR*如关闭时有未发送数据,则逗留SO_OOBINLINE

5、BOOL在常规数据流中接收带外数据SO_RCVBUFInt为接收确定缓冲区大小SO_REUSEADDRBOOL允许套接口和一个已在使用中的地址捆绑SO_SNDBUFInt指定发送缓冲区大小TCP_NODELAYBOOL禁止发送合并的Nagle算法19.1套接口选项(setsockopt)返回值:若无错误发生,setsockopt()返回0。否则的话,返回SOCKET_ERROR错误,应用程序可通过WSAGetLastError()获取相应错误代码。19.1套接口选项(setsockopt)错误代码:W

6、SANOTINITIALISED:在使用此API之前应首先成功地调用WSAStartup()。WSAENETDOWN:WINDOWS套接口实现检测到网络子系统失效。WSAEFAULT:optval不是进程地址空间中的一个有效部分。WSAEINPROGRESS:一个阻塞的WINDOWS套接口调用正在运行中。WSAEINVAL:level值非法,或optval中的信息非法。WSAENETRESET:当SO_KEEPALIVE设置后连接超时。WSAENOPROTOOPT:未知或不支持选项。19.1套接口选项

7、(getsockopt)简述:获取一个套接口选项。#includeintgetsockopt(SOCKETs,intlevel,intoptname,charFAR*optval,intFAR*optlen);s:一个标识套接口的描述字。level:选项定义的层次。支持的层次仅有SOL_SOCKET和IPPROTO_TCP。optname:需获取的套接口选项。optval:指针,指向存放所获得选项值的缓冲区。optlen:指针,指向optval缓冲区的长度值。19.1套接口选项(

8、getsockopt)注释:getsockopt()函数用于获取任意类型、任意状态套接口的选项当前值,并把结果存入optval。在不同协议层上存在选项,但往往是在最高的“套接口”层次上,设置选项影响套接口的操作,诸如操作的阻塞与否、包的选径方式、带外数据的传送等。被选中选项的值放在optval缓冲区中。optlen所指向的整形数在初始时包含缓冲区的长度,在调用返回时被置为实际值的长度。如果未进行setsockopt()调用,则getsockopt()返回

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。