我正在尝试将值变化信号发送到我的alljoyn瘦应用连接到的所有会话:
AJ_MarshalSignal(&Bus, &sig_out, SIGNAL_ STATECHANGED, NULL, 0, AJ_FLAG_GLOBAL_BROADCAST, 0);
然而,客户端(在AJSCL上运行)无法接收信号。
但是当我使用以下内容将其发送到特定会话时
AJ_MarshalSignal(&Bus, &sig_out, SIGNAL_ STATECHANGED, NULL, session_ID, AJ_FLAG_GLOBAL_BROADCAST, 0);
具有指定session_ID
的客户端可以接收它。
瘦客户端版本中是否有与
类似的标志BusAttachment.SESSION_ID_ALL_HOSTED
我不想将其作为无会话信号发送。有没有其他方式所有加入的会话都可以接收信号?
答案 0 :(得分:0)
瘦客户端中未实现SESSION_ID_ALL_HOSTED功能。您应该自己为每个连接的客户端实现会话广播的逻辑。
如果您使用的是15.09及更高版本,瘦客户机代码库会对您有所帮助:AJ_BusAttachment.sessions是AJ_Session结构的链接列表,其中每个AJ_Session描述正在进行的会话。如果您遍历此列表并为AJ_Session-> host!= 0的每个会话发出信号,则表示您对SESSION_ID_ALL_HOSTED具有相同的行为。