一个基本的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