设为首页 加入收藏

TOP

2.2.2 小试牛刀--模拟实现Windows的UDP程序(5)
2013-10-07 15:53:29 来源: 作者: 【 】 浏览:82
Tags:2.2.2 小试牛刀 模拟 实现 Windows UDP 程序

2.2.2  小试牛刀--模拟实现Windows的UDP程序(5)

(4) 多播全局变量。

SOCKET socketMul:UDP多播套接字。

SOCKET sockJoin:加入多播组套接字。

struct sockaddr_in addrLocal:本地地址结构,其IP地址部分默认为0,即INADDR_ANY,通过另一个全局变量dwInterface获得。

struct sockaddr_in addrMul:多播组地址,默认为MCASTADDR。

BOOL multiSendFlag:多播信息身份标志,如果为默认值FALSE,表示是消息接收者,否则是发送者。

BOOL bLoopBack:消息返回禁止标志,如果为TRUE,表示禁止返还。

BOOL multiFlag:多播标志,如果为TRUE,表示该程序进行广播操作。

DWORD dwInterface:表示多播地址参数的双字节变量,初始赋值是INADDR_ ANY,表示0,用于接收用户提供的参数。

DWORD dwMulticastGroup:双字节,表示消息数量的变量,该变量的初始赋值为MCASTADDR,用于接收用户提供的参数。

DWORD mCount:双字节,表示消息数量的变量,该变量的初始赋值为MCOUNT。

Short mPort:多播的端口号,默认是MCASTPORT。

8. 规划函数

(1) 初始化全局变量。

函数原型:int initial()

功能:用于初始化全局变量,包括初始化广播全局变量和多播全局变量。

(2) 接收用户提供的参数。

函数原型:void GetArgments(int argc, char **argv)

功能:用于获取用户提供的参数,分为如下三种情况。

如果参数个数小于两个:执行用户帮助。

获取广播选项:广播标志设置为真,通过case,分别实现如果是发送者、广播的地址、广播的端口号、广播(接收或者发送)的数量、其他情况,进行对应的操作。

获取多播选项:通过case,分别实现如果是发送者、多播的地址、多播的端口号、本地接口地址、返回标志设置为真、发送(接收)的数量和其他情况,进行对应的操作。

(3) 全局用户帮助函数。

函数原型:void userHelpAll()

功能:用于显示全局用户帮助函数。

(4) 多播用户帮助函数。

函数原型:void userHelpMul()

功能:用于显示多播用户帮助信息。

(5) 广播用户帮助函数。

函数原型:void userHelpBro()

功能:用于显示广播用户帮助信息。

(6) 广播消息发送函数。

函数原型:void broadcastSend()

功能:用于在指定的广播地址上发送广播信息。

(7) 广播消息接收函数。

函数原型:void broadcastRec()

功能:用于在指定的广播地址上接收广播信息。

(8) 多播控制函数。

函数原型:void mulControl()

功能:服务于多播信息发送和接收函数,用于创建多播套接字、设置多播地址和本地地址、套接字绑定、设置套接字选项、加入指定多播组。

(9) 多播消息发送函数。

函数原型:void multicastSend()

功能:用于在指定的多播组地址上发送多播消息。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇2.2.2 小试牛刀--模拟实现Windows.. 下一篇2.2.2 小试牛刀--模拟实现Windows..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·C++中智能指针的性能 (2025-12-25 03:49:29)
·如何用智能指针实现c (2025-12-25 03:49:27)
·如何在 C 语言中管理 (2025-12-25 03:20:14)
·C语言和内存管理有什 (2025-12-25 03:20:11)
·为什么C语言从不被淘 (2025-12-25 03:20:08)