我正在开发一个应用程序,它使用WebRTC实现几个不同的功能,用于ElectronJS应用程序和UWP应用程序之间的对等通信(使用Org.WebRTC UWP Nuget),包括实时音频/视频流网络摄像头源和屏幕/窗口捕获(使用desktopCapture API),以及几个RTCDataChannel用于几个不同的目的。一切都“有效”,但我有一个我不理解的生活质量问题,而且我找不到任何关于这个具体问题的建议。
我已经设置好所有功能,但有一次我在一个可靠的,有序的RTCDataChannel上发送了相当大量的数据(~10mb),并且(我没有可预测性)有时会有五个延迟在数据开始到达另一端之前的十秒钟。数据是字符串和二进制消息交织在一起,其中二进制消息都是<= 64kb大。
在发生延迟的那些情况下,在完成所有发送呼叫后立即,RTCPeerConnection的iceconnectionstate从“完成”变为“已连接”或(很少)“断开”,然后最终返回“完成” ,暗示连接的某些部分被破坏并重新建立,因此延迟。但我无法弄清楚导致问题的原因或解决方法,并且阻止了我正在处理的应用程序所需功能的完成。
非常感谢任何建议或见解。我经常使用Stack Overflow来查找已经回答的问题,但我不会发布问题,所以对任何无意违反礼仪的行为表示道歉。如果我能提供任何有助于回答我的问题的其他信息,请告诉我。
谢谢!