[工学]第19章 套接口选项.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[工学]第19章 套接口选项

第19章 套接口选项 第19章 套接口选项 19.1 套接口选项 19.1.1 SOL_SOCKET 19.1.2 IPPROTO_IP 19.2 广播 19.2.1 报文的发送 19.2.2 广播报文的接收 19.3 多播 19.3.1 一个简单的多播库 19.3.2 接收多播数据 19.3.3 发送多播数据 19.4 原始套接口编程 19.4.1 Ping程序 19.4.2 WinSniffer程序 19.1 套接口选项 有两种套接口的选项:一种是布尔型选项,允许或禁止一种特性;另一种是整形或结构选项。允许一个布尔型选项,则将optval指向非零整形数;禁止一个选项optval指向一个等于零的整形数。对于布尔型选项,optlen应等于sizeof(int);对其他选项,optval指向包含所需选项的整形数或结构,而optlen则为整形数或结构的长度。 19.1 套接口选项(setsockopt) 简述:设置套接口的选项。 #include winsock.h int setsockopt( SOCKET s, int level, int optname,const char FAR* optval, int optlen); s:标识一个套接口的描述字。 level:选项定义的层次;目前仅支持SOL_SOCKET和IPPROTO_TCP层次。 optname:需设置的选项。 optval:指针,指向存放选项值的缓冲区。 optlen:optval缓冲区的长度。 19.1 套接口选项(setsockopt) 注释: ??setsockopt()函数用于任意类型、任意状态套接口的设置选项值。尽管在不同协议层上存在选项,但本函数仅定义了最高的“套接口”层次上的选项。选项影响套接口的操作,诸如加急数据是否在普通数据流中接收,广播数据是否可以从套接口发送等等。 19.1 套接口选项(setsockopt) ?setsockopt()支持下列选项。其中“类型”表明optval所指数据的类型。 19.1 套接口选项(setsockopt) 返回值: ??若无错误发生,setsockopt()返回0。否则的话,返回SOCKET_ERROR错误,应用程序可通过WSAGetLastError()获取相应错误代码。 19.1 套接口选项(setsockopt) 错误代码: ?WSANOTINITIALISED:在使用此API之前应首先成功地调用WSAStartup()。 ?WSAENETDOWN:WINDOWS套接口实现检测到网络子系统失效。 ?WSAEFAULT:optval不是进程地址空间中的一个有效部分。 ?WSAEINPROGRESS:一个阻塞的WINDOWS套接口调用正在运行中。 ?WSAEINVAL:level值非法,或optval中的信息非法。 ?WSAENETRESET:当SO_KEEPALIVE设置后连接超时。 ?WSAENOPROTOOPT:未知或不支持选项。 19.1 套接口选项(getsockopt) 简述:获取一个套接口选项。 #include winsock.h int getsockopt( SOCKET s, int level, int optname,?char FAR* optval, int FAR* optlen); ? s:一个标识套接口的描述字。 ??level:选项定义的层次。支持的层次仅有 SOL_SOCKET和IPPROTO_TCP。 ??optname:需获取的套接口选项。 ??optval:指针,指向存放所获得选项值的缓冲区。 ??optlen:指针,指向optval缓冲区的长度值。 19.1 套接口选项(getsockopt) 注释: ?? getsockopt()函数用于获取任意类型、任意状态套接口的选项当前值,并把结果存入optval。在不同协议层上存在选项,但往往是在最高的“套接口”层次上,设置选项影响套接口的操作,诸如操作的阻塞与否、包的选径方式、带外数据的传送等。 ?? 被选中选项的值放在optval缓冲区中。optlen所指向的整形数在初始时包含缓冲区的长度,在调用返回时被置为实际值的长度。 ??如果未进行setsockopt()调用,则getsockopt()返回系统缺省值。 19.1 套接口选项(getsockopt) ?getsockopt()支持下列选项。其中“类型”表明optval所指数据的类型。 19.1 套接口选项(getsockopt) 返回值: ??若无错误发生,getsockopt()返回0。否则的话,返回SOCKET_ERROR错误,应用程序可通过WSAGetLastError()获取相应错误代码。

文档评论(0)

jiupshaieuk12 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档