嗨,对话,
我使用一个20字节长的特性,通过它我需要发送一组数据(最多280字节)。因此,我的第一个假设是在同一个函数中发布所需的通知消息,而不必等待任何消息,但它不起作用。。。
我的主要限制是优化吞吐量,然后在连接间隔内发送尽可能多的数据。所以我想我可以在调度程序队列中放置几个通知。
当我发布一条消息(prf\u server\u send\u event(…))时,我是否需要在发送下一条消息之前等待回调(比如gattc\u cmp\u evt\u handler())?
提前谢谢。
马特。
你好。当您同时发送多条消息时,究竟是什么“不起作用”?
我们也在做类似的事情。对我们来说,客户端最终会接收所有消息,但每个人都只包含最新的数据,而不是在发送通知请求时存储在db中的数据,这很麻烦。
你好,
“不起作用”意味着我的行为和你一样。经过思考,这是一致的。
仅通知/指示最新值。因此,如果在发送通知/指示之前修改特征值的2倍,则通过空中发送的数据包将包含最后修改的数据。
当您查看源代码时,您将看到在将专用消息发布到堆栈时从未指定数据(prf\u server\u send\u event(…))。因此,数据将从之前填充的数据库中提取(attmdb\u att\u set\u value(…))。
我现在使用gattc\u cmp\u evt\u处理程序(…)来知道何时可以发送下一个通知。而且很有效。
马特
嗨,马修·安托万
这是否意味着如果我想在一个connect事件中发送多个notify,我必须发送一个notify并等待ack,然后发送第二个notify?
你好,斯克林,
我们现在有了一个示例应用程序和一个文档,可以在连接间隔期间发送多个数据包,
请看一下:http://support.dialog.com/system/files/restricted/UM-B-030。。。
在SDK3.0.4.\DA14580\u SDK\u 3.0.4.0\dk\u apps\keil\u projects\throughput\u eval
谨致问候
对话框支持
Hi FVD\U对话框
谢谢你的回答。
我将深入阅读这份文件。
大家好,
关于同样的问题。我在哪里可以得到发送包的确认?
您的意思是GATTC\u cmp\u evt\u处理程序中的“GATTC\u INDICATE”一词表示数据包已通过空中发送,还是已收到发送数据包上的ACK。
提前谢谢