没有合适的资源?快使用搜索试试~ 我知道了~
UDP程序设计(c语言课程设计)
4星 · 超过85%的资源 需积分: 9 91 下载量 68 浏览量
2009-07-25
12:38:28
上传
评论 1
收藏 153KB DOC 举报
温馨提示
试读
20页
UDP程序设计(c语言课程设计)UDP程序设计(c语言课程设计)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) 公共模块
(1) 初始化模块.该模块主要用于初始化全局变量,为全局变量赋初始值.
(2) 参数获取模块.该模块用于获取用户提供的参数,包括获取广播参数,多播参数和区分广播与多播
公共参数等.
(3) 用户帮助模块.该模块应于显示用户帮助,包括显示公共帮助,广播帮助和多播帮助.
2) 广播模块
(1) 广播消息发送模块.该模块用于现实在指定广播地址和端口发送指定数量的广播消息.
(2) 广播消息接收模块.该模块用于现实在指定广播地址和端口接收指定数量的广播消息.
3) 多播模块
(1) 多播功能控制模块.该模块用于现实多播套接字的创建和绑定,多播地址的设定,多播数据的设置,数据
反还选项的设置,以及多播组的加入等.
(2) 多拨消息发送模块.该模块用于现实在指定多播组发送多播消息.
(3) 多播消息接收模块.该模块用于现实在指定多播组接收多波消息.
2. 系统流程图
系统流程图如图 11.2 所示.程序首先初始化全局变量,包括广播(多播)地址,端楼号,发送(接收)消息数量
等,然后花圈用户提供的参数,并初始化 Winsock 初始也成功则判断是进行广播还是多播程序;如果是广播,
则判断是发送者身份还是接收身份,然后根据不同的身份进行相应的处理,即发送广播消息或者接收广播消
息;同样地,如果是多播,也惊醒身份的判断,然后作同样的处理.
UDP 程序设计
公共模块
广播模块
多播模块
初
始
化
模
块
用
户
帮
助
模
块
参
数
获
取
模
块
广
播
消
息
发
送
模
块
广
播
消
息
接
收
模
块
多
播
消
息
发
送
模
块
多
播
功
能
控
制
模
块
多
播
消
息
接
收
模
块
否
是
否
是
是 否
是 不是 否 是 否
图 11.2 系统流程图
3.广播消息发送流程图
广播消息流程图如图 11.3 所示.程序首先创建 UDP 套接字,如果创建成功则设置广播地址;由于进行的
是广播机制,所以要将套接字时针为广播类型,即 SO-BROADCAST;如果套接字选想不开设置成功则可
以避免向指定的广播地址广播消息了.广播结束后(即达到最多的消息条数),关闭套接字,释放占用资源.
开
始
初 始 化 全 局 变
量
获 取 参 数 设 置
标记
接收广播消息 发送多播消息
初始化 Winsock
发送广播消息
接收多播消息
成
功 ?
广
播 ?
发
送 ?
发
送 ?
开
始
成
功 ?
否
是
否
是
否 是
是
否
图 11.3 广播消息发送流程图
开
始
创建 UDP 套接字
设置广播地址选项
输出成功信息
输出错误信息
创 建 成
功 ?
设 置 成
功 ?
发 送 成
功 ?
还可 以发
送 ?
设置套接字
为广播类型
发送消息
到广播地址
关闭套接字
释放占用资源
结
束
剩余19页未读,继续阅读
资源评论
- zhko119932013-10-14很有用,很感谢
- zhangzhipeng20112013-05-27这个不行,不直接。没有找到我想要的资源,即udp的client和server的纯净程序。
- yanhaorichard2012-07-10找了很久终于找到这么实用的资源,对于计算机网络课程实习帮助很大
Felix常温
- 粉丝: 72
- 资源: 75
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于Arduino Nano的红外循迹小车源码(高分课设).zip
- 将MS SQL数据库表里的数据内容生成SQL执行语句
- 基于MATLAB的钢板表面缺陷检测系统
- MS SQL里生成行政区域县区信息表和相应数据
- delphi实现DBGrid全选和反选功能
- 25C11F41-2B2A-4D1A-AAA8-7C654526B129.pdf
- Android Studio Jellyfish(android-studio-2023.3.1.18-cros.deb)
- MVC+EF框架+EasyUI实现权限管理源码程序
- python第66-75天,Day66-75.rar
- python后端服务project-of-tornado.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功