2.2.2 小试牛刀--模拟实现Windows的UDP程序(1)
实例功能 使用Visual C++(www.cppentry.com)开发一个UDP传输系统
源码路径 光盘\yuanma\2\UDP
本实例的目的是使用Visual C++(www.cppentry.com) 6.0开发一个UDP传输系统。
1. 规划分析
在具体编码之前,先进行项目规划分析。本项目即有广播的功能,又有多播的功能,能实现基本的广播和多播机制,主要包括如下功能:
提供广播机制。
能设定身份,即是广播消息发送者,也是接收者,默认是消息接收者。
能在默认的广播地址和端口号上发送广播消息,接收广播消息。
能够指定广播地址、端口号、发送(或接收)数量选项进行广播消息的发送和接收。
提供多播机制。
能指定身份,即是多播消息发送者,也是接收者,默认是消息接收者。
主机能加入一个指定多播组。
能以默认选项发送多播消息和接收多播消息。
能指定多播地址、本地接口地址、端口号、发送(或接收)数量和数据返还标志选项,进行多播消息的发送和接收。
2. 功能模块图
本程序由3大部分组成,即广播模块、多播模块和公共模块,如图2-10所示。
|
| (点击查看大图)图2-10 功能模块 |
其中公共模块和多播模块共享的部分,包括初始化模块、参数获取模块和用户帮助模块;广播模块包括广播消息模块;多播模块包括多播功能控制模块、多播消息发送模块和多播消息接收模块。