蓝牙:如何从MAP“消息通知服务”(MNS)中读取消息? QT

时间:2016-07-14 13:25:14

标签: qt sockets bluetooth notifications

我正在我的笔记本电脑(Debian 8)上写一个QT 5应用程序,如果手机上有新的短信(OnePlus One,Android 5.1),我希望收到通知。

我设法注册了MAP服务并手动阅读了短信。为此,我创建了一个套接字。当有新数据可用时,应调用readyRead()信号。这适用于手动获取SMS。在同一个套接字上,我注册了消息通知服务。

我遇到的问题是,当新消息传播时,readyRead()信号永远不会发出。为了监控数据流,我使用wireshark。 Wireshark展示了这一事件。所以智能手机将事件发送到笔记本电脑,而不是发送连接请求的套接字?

我从(MAP)规范获得的注册信息:https://www.bluetooth.org/docman/handlers/DownloadDoc.ashx?doc_id=409110

我的想法是智能手机和笔记本电脑创造了一个新的插座,但不确定。即使在什么时候,我也不知道如何使用QT访问这个套接字。

有人可以帮忙吗?谢谢。

1 个答案:

答案 0 :(得分:1)

  

在同一个套接字上,我注册了消息通知服务。

MAS和MNS应该是两个RFCOMM链接,即您可能有两个套接字,一个用于MAS客户端,另一个用于MNS服务器。 您可以参考MAP spec 1.1第6.4.2节中的图6.3。