笔趣阁
会员书架
首页 >其他小说 >软件工程思想 > 第17章

第17章(第1 / 4页)

上一章 章节目录 加入书签 下一页
推荐小说:

{

BOOLQueryData(…);//向服务器查询数据

BOOLSubscribeData(…);//向服务器订阅数据

GROUPIPQueryGroupIP(…);//向服务器查询组播地址

DWORDMulticastMessage(…);//发送组播消息

virtualvoidMessageResponse(…);//响应组播消息

消费者可以向服务器订阅数据。每个客户机可能是很多数据的生产者或消费者。同一时刻,CNC系统允许有任意多个生产者和消费者存在。CNC的“发布—订阅”功能是用TCP协议实现的。

在“组播”模式中,服务器动态地分配每个组的组播地址。客户机可以向服务器申请加入任意组,允许向任意组播放消息,服务器不保存这些组播消息。CNC的“组播”功能是用UDP协议实现的。

图5.15CNC1.0的系统结构

5.5.3.1CNC客户机的API设计

类CNCClient客户机用来实现“发布—订阅”和“组播”功能,主要接口(公有函数)如下:

};

一、客户程序的“发布”协议

客户机向服务器发布的每个数据报均含有数据类型、工作组名称、数据名称、生命期和数据长度的信息。报文格式如图5.16所示,数据结构见DataPublish:

structDataPublish

classCNCClient

{public:

BOOLConnect(…);//连接服务器

BOOLDisconnect();//与服务器断开连接

BOOLPublishData(…);//向服务器发布数据

点击切换 [繁体版]    [简体版]
上一章 章节目录 加入书签 下一页