为什么 Chirp 的 Windows .net 库会丢失第二个、第四个、第六个等等数据包?
Why does Chirp's Windows .net library would lose the second, the forth, the sixth and so on packets?
我尝试在 ChirpSDK-.Net-3.4.0 中构建和 运行 示例 ChirpConnectConsoleDemo,发现当我 运行 一个 Chirp 的消息发送器(运行ning 在 Android 设备上)(Android Chirp 消息发送器基于示例 chirp-android-examples 修改为通过其 MaxPayloadLength 对消息进行分段并逐块发送数据)。换句话说,第二个,第四个,第六个等等块都会丢失。
我曾经尝试过 Android 示例 chirp-android-examples 作为接收者。在 Android 设备上使用相同的发件人应用程序并 运行 在另一台 Android 设备上使用相同的 Android 应用程序作为接收者,接收者可以成功接收所有消息(没有消息丢失)。
我预计 Windows 示例也可以成功接收从 Android Chirp 应用程序发送的所有消息。但是,正如我所描述的,它总是丢失偶数条消息。谁能帮我?谢谢
问题可能是您发送有效载荷的速度太快,这意味着有效载荷之间没有足够的延迟。理想情况下,您应该至少有 0.5 秒的延迟。
如果处理时间较慢且内部音频缓冲区较小,这会很快导致缓冲区溢出,这意味着 SDK 将丢失音频块。
我尝试在 ChirpSDK-.Net-3.4.0 中构建和 运行 示例 ChirpConnectConsoleDemo,发现当我 运行 一个 Chirp 的消息发送器(运行ning 在 Android 设备上)(Android Chirp 消息发送器基于示例 chirp-android-examples 修改为通过其 MaxPayloadLength 对消息进行分段并逐块发送数据)。换句话说,第二个,第四个,第六个等等块都会丢失。
我曾经尝试过 Android 示例 chirp-android-examples 作为接收者。在 Android 设备上使用相同的发件人应用程序并 运行 在另一台 Android 设备上使用相同的 Android 应用程序作为接收者,接收者可以成功接收所有消息(没有消息丢失)。
我预计 Windows 示例也可以成功接收从 Android Chirp 应用程序发送的所有消息。但是,正如我所描述的,它总是丢失偶数条消息。谁能帮我?谢谢
问题可能是您发送有效载荷的速度太快,这意味着有效载荷之间没有足够的延迟。理想情况下,您应该至少有 0.5 秒的延迟。
如果处理时间较慢且内部音频缓冲区较小,这会很快导致缓冲区溢出,这意味着 SDK 将丢失音频块。