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

第38章(第1 / 3页)

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

};

如果客户机接收到组播的消息,将自动调用函数MessageResponse来响应该消息。MessageResponse是虚函数,它将根据dwContentType信息决定如何处理到来的组播消息,具体功能由用户定义。

structGroupAddress

{

BYTEiDataType;//2个字节数据类型,宏定义为GROUP_ADDRESS

charstrGroupName[16];//16个字节的工作组名字

};

structDataQuery

{

BYTEiDataType;//2个字节数据类型,宏定义为DATA_QUERY

charstrGroupName[16];//16个字节的工作组名字

charstrDataName[16];//16个字节的数据名字

客户机调用函数MulticastMessage向指定的组(根据组播地址)播放消息。组播的数据报结构DataMulticast定义如下:

structDataMulticast

{

DWORDdwContentType;//组播的数据报类型,由用户定义

char*pchContent;//组播的数据报内容,由用户定义

};

(2)服务器接收到查询时,按照DataQuery结构中的strGroupName和strDataName进行搜索。如果该数据不存在,Server向Client发送一个FALSE标志。如果该数据存在,服务器先向客户机发送一个TRUE标志,之后立即再向客户机发送该数据(DataPublish格式)。

如果客户机得到TRUE标志的查询结果,就调用函数SubscribeData来接收服务器发送过来的数据。

三、客户程序的“组播”协议

客户机先调用函数QueryGroupIP向服务器发送一个GroupAddress格式的报文,用于查询组播地址。服务器返回相应的十进制点分式的IP地址。

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