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) 多播消息接收模块.该模...