- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
UDP程序设计(c语言课程设计)
07网络工程本
北4-626寝室
负责人:林型超
第十一章 UDP程序设计
信息简介:UDP协议,即拥护数据报协议(Use Datagram Protocol).是一个简单的面向数据报的传输层协议.他不提供可靠性,即只把应用程序传给IP层的数据发送出去,但是并不能保证他们能到达目的.广播和多播是基于UDP协议的两种消息发送机制.广播数据即从一个工作站发出,局域网内的其他所有工作站都能收到它.IP协议下,多播是广播的一种变形,IP多播要求将对收发数据感兴趣的所有主机加入到一个特定的组.
设计目的: 本章实现的程序即有广播的功能又有多播的功能,能实现基本的广播和多播机制,其主要包括如下功能.
1) 提供广播机制.
(1) 能设定身份,即是广播消息发送者还是接收者,默认是消息接收者.
(2) 能在默认的广播地址和端口号上发送广播消息,接收广播广播消息.
(3) 能指定广播地址,端口号,发送(或接收)数量选项进行广播消息的发送和接收.
2) 提供多播机制
(1) 能制定身份,即是多播消息发送者好事接收者,默认是消息接收者.
(2) 主机能加入一个指定多播组.
(3) 能以默认选项发送多播消息.接收多播消息.
(4) 能指定多播地址,本地接口地址,端口号,发送(或接收)数量和数据反还标志选项进行多播消息的发送和接收.
总体设计
功能模块设计
1.功能模块图
本程序有3大部分组成,即广播模块,多播模块部分,如图11.1所示.其中公共模块和多播模块共享的部分,包括初始化模块,参数获取模块和用户帮助模块;广播模块包括广播消息模块;多播模块包括多播功能控制模块,多播消息发送模块和多播消息接收模块.
图11.1 功能模块图
公共模块
初始化模块.该模块主要用于初始化全局变量,为全局变量赋初始值.
参数获取模块.该模块用于获取用户提供的参数,包括获取广播参数,多播参数和区分广播与多播 公共参数等.
用户帮助模块.该模块应于显示用户帮助,包括显示公共帮助,广播帮助和多播帮助.
广播模块
(1) 广播消息发送模块.该模块用于现实在指定广播地址和端口发送指定数量的广播消息.
(2) 广播消息接收模块.该模块用于现实在指定广播地址和端口接收指定数量的广播消息.
3) 多播模块
(1) 多播功能控制模块.该模块用于现实多播套接字的创建和绑定,多播地址的设定,多播数据的设置,数据反还选项的设置,以及多播组的加入等.
(2) 多拨消息发送模块.该模块用于现实在指定多播组发送多播消息.
(3) 多播消息接收模块.该模块用于现实在指定多播组接收多波消息.
2. 系统流程图
系统流程图如图11.2所示.程序首先初始化全局变量,包括广播(多播)地址,端楼号,发送(接收)消息数量等,然后花圈用户提供的参数,并初始化Winsock初始也成功则判断是进行广播还是多播程序;如果是广播,则判断是发送者身份还是接收身份,然后根据不同的身份进行相应的处理,即发送广播消息或者接收广播消息;同样地,如果是多播,也惊醒身份的判断,然后作同样的处理.
否
是
否
是
是 否
是 不是 否 是 否
图11.2 系统流程图
广播消息发送流程图
广播消息流程图如图11.3所示.程序首先创建UDP套接字,如果创建成功则设置广播地址;由于进行的是广播机制,所以要将套接字时针为广播类型,即SO-BROADCAST;如果套接字选想不开设置成功则可以避免向指定的广播地址广播消息了.广播结束后(即达到最多的消息条数),关闭套接字,释放占用资源.
否
文档评论(0)