04第4章基于UDP协议的程序设计.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文档。上传文档
查看更多
04第4章基于UDP协议的程序设计

套接字选项设置方法 函数SetSocketOption()的使用方法 3个参数 套接字选项级别 IP 仅适用于IP套接字 IPv6 仅适用于IPv6套接字 Socket 适用于所有套接字 TCP 仅适用于TCP套接字 UDP 仅适用于UDP套接字 选项名称 Broadcast 允许在套接字上发送广播消息 bool DontRoute 不路由,将数据包直接发送到接口地址 bool ExclusiveAddressUse 使套接字能够为独占访问进行绑定 bool ReceiveBuffer 指定为接收保留的每个套接字缓冲区空间的总量。 int ReceiveTimeout 接收超时。此选项只适用与同步方法,对异步方法无效 int ReuseAddress 允许将套接字绑定到已在使用中的地址 bool SendBuffer 指定为发送保留的每个套接字缓冲区空间的总量。这与最大消息或TCP窗口的大小无关 int SendTimeout 发送超时。此选项只适用与同步方法,对异步方法无效 int 选项辅助信息 4.4 多播程序设计 IP多播已成为Internet的一个热门课题,许多应用,如:网上新闻、股市行情发布、网络视频会议、多媒体远程教育、视频点播等。 多播地址 因特网组管理协议IGMP 多播编程方法 多播编程实例 多播地址 D类地址:224.0.0.0 ~ 239.255.255.255 分类 局部链接地址 224.0.0.0~224.0.0.255 用于局域网,路由器不转发属于此范围的IP包 预留多播地址 224.0.1.0~238.255.255.255 用于全球范围或网络协议 管理权限地址 239.0.0.0~239.255.255.255 组织内部使用,用于限制多播范围 因特网组管理协议IGMP IGMP是在多播环境下使用的协议,它用来帮助多播路由器识别加入到一个多播组的成员。 IGMP使用IP数据报传送其报文,它是IP协议的一个组成部分,协议字段的值为2。 IGMP已经具有3个版本,1989年公布的RFC 1112(IGMPv1)早已成为了因特网的标准协议。 为了多播能够正确地工作,两个多播结点之间的所有路由器必须支持IGMP协议。任何没有开启IGMP的路由器会丢弃接收到的多播数据。 多播编程方法 需要考虑多播组成员的加入、成员退出、数据发送和接收整个过程。注意,要向组发送多播数据,没有必要非加入这个组。 要设定多播的TTL值,允许路由器进行多少次转发。 TTL默认为1,表明只能在本子网中传送。TTL为0的多播数据报不会在任何子网上传输,但是,如果发送方属于目的组,就能够在本地传输。如果有多播路由器连接到了发送方子网,TTL比1大的多播数据报可以被传输到多个子网。 多播路由器支持TTL“极限”的概念 0 多播数据报被限制在同一个主机 1 多播数据报被限制在同一个子网 32 多播数据报被限制在同一个站点 64 多播数据报被限制在同一个地区 128 多播数据报被限制在同一个本土 255 没有范围限制 多播编程方法 使用套接字选项 使用MulticastOption类定义多播组,通过套接字的SetSocketOption方法,将套接字加入到多播组或者从多播组中退出。 使用UdpClient类 使用JoinMulticastGroup方法将套接字加入多播组,使用DropMulticastGroup方法退出多播组。 使用套接字多播的方法 要将套接字加入到多播组225.2.0.1,让系统上所有的接口都按照SetSocketOption方法指定的方式工作,示例语句如下: Socket socket=new Socket(AddressFamily.InterNetwork,SocketType.Dgram, ProtocolType.Udp); Socket.SetSocketOption(SocketOptionLevel.IP,SocketOptionName.AddMembership, new MulticastOption(IPAddress.Parse(225.2.0.1))); //设定套接字多播的TTL值为32 socket.SetSockOption(SocketOptionLevel.IP,SocketOptionName.MulticastTimeToLive,32); 套接字多播选项 AddMembership 添加一个IP组成员 AddSourceMembership 连接源组 DropMembership 丢弃一个组成员 DropSourceMembership 丢弃一个源组 Multicas

文档评论(0)

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

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

1亿VIP精品文档

相关文档