Alljoyn服务器框架2总线及会话

来源:互联网 发布:区域生长 分割算法 编辑:程序博客网 时间:2024/05/17 12:49

一个基本的alljoyn服务器框架包含关于及通知服务器,以及控制及配置服务器(可选)。

最好重写通知服务器模块,编译成用户指定名称。


1. 生成总线

服务器/客户端所需总线。

服务器注册一个发送方,客户端需要一个接受方。

我用的名字是ChatServiceApp

BusAttachment* bus = newBusAttachment(“ChatServiceApp”, true);

QStatus status = bus->Start();
status = bus->Connect();

if (authListener)
{
status =::EnableSecurity(bus, authListener);
}

增加DBus路由:

m_Bus->AddMatch(“Interface name”);
m_Bus->RegisterBusObject(*m_SuperAgent);

我想在总线广播消息,因此初始化发送方或接收方:

prodService->initSend(bus,propertyStoreImpl);
Receiver->setApplications(listOfApps.c_str());
conService->initReceive(busAttachment,Receiver);

一个应用要承载所有功能可不是个好主意。

为服务器/客户端消息交换选用不同的名字。


2.会话:

设备向会话宣告一个独有的名字,会话使用P2P通信。

m_Bus->JoinSession(name, PORT, this,s_sessionId, opts);
m_Bus->SetLinkTimeout(s_sessionId,timeout);

接收消息需注册总线监听器,如只是发送消息不需注册总线监听器。

Chat.cc演示如何在总线增加一个基体会话。但这是多对多拓扑,我希望生成一个C/S演示

当前会话向新用户广播到达通知。

最相似的演示为消费者与产品服务器演示


原文链接:http://likall.com/blog/?p=65


0 0
原创粉丝点击