第19章+套接口选项.ppt

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
19.3 多播(D类IP地址) 部分永久地址说明: 地 址 说 明 224.0.0.0 基本地址(保留) 224.0.0.1 子网上的所有系统 224.0.0.2 子网上的所有路由器 224.0.0.5 子网上所有OSPF路由器 224.0.0.6 子网上所有指定的OSPF路由器 224.0.0.9 RIP第2版本组地址 224.0.1.1 网络时间协议 224.0.1.24 WINS服务器组地址 19.3 多播(多播路由器 ) 多播由特殊的多播路由器来实现,多播路由器同时也可以是普通路由器。各个多播路由器每分钟发送一个硬件多播信息给子网上的主机(目的地址为224.0.0.1),要求它们报告其进程当前所属的是哪一组,各主机将它感兴趣的D类地址返回。这些询问和响应分组使用IGMP(Internet group management protocol),它大致类似于ICMP。它只有两种分组:询问和响应,都有一个简单的固定格式,其中有效载荷字段的第一个字段是一些控制信息,第二字段是一个D类地址,在RFC1112中有详细说明。 第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所指数据的类型。 选项 类型 意义 SO_BROADCAST BOOL 允许套接口传送广播信息 SO_DEBUG BOOL 记录调试信息 SO_DONTLINER BOOL 不要因为数据未发送就阻塞关闭操作。设置本选项相当于将SO_LINGER的l_onoff元素置为零 SO_DONTROUTE BOOL 禁止选径;直接传送 SO_KEEPALIVE BOOL 发送“保持活动”包 SO_LINGER struct linger FAR* 如关闭时有未发送数据,则逗留 SO_OOBINLINE BOOL 在常规数据流中接收带外数据 SO_RCVBUF Int 为接收确定缓冲区大小 SO_REUSEADDR BOOL 允许套接口和一个已在使用中的地址捆绑 SO_SNDBUF Int 指定发送缓冲区大小 TCP_NODELAY BOOL 禁止发送合并的Nagle算法 19.1 套接口选项(setsockopt) 返回值: ??若无错误发生,setsockopt()返回0。否则的话,返回SOCKET_ERROR错误,应用程序可通过WSAGetLastError()获取相应错误代码。 19.1 套接口选项(setsockopt) 错误代码: ?WSANOTINITIALISED:在使用此API之前应首先成功地调用WSAStartup()。 ?WSAENETDOWN:WINDOWS套接口实现检测到网络子系统失效。 ?WSAEFAULT:optv

您可能关注的文档

文档评论(0)

微微 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档