2017-09-26 37 views

回答

0

嗯,以及的WebRTC是建立在RTP,其旨在用于非保证的递送时间关键数据(视频帧,音频等)的顶部上的协议,与不保证的递送的顺序任一。相比之下,ZMQ是一个面向消息的Actor模型框架,它具有有用的设计模式,有保证的传递(假设网络保持不变),对于需要发送消息的应用程序非常有用。

它们完全不同。我是否正确地认为你已经开始使用WebRTC(可能是因为熟悉),并且遇到了任何基于UDP的协议(这是RTP使用的)所固有的限制?

如果你使用ZMQ,你必须在哪个你想使用它的每一个通信路径的两端使用它。例如,您不能在Android应用上使用ZMQ与WebRTC服务器通话。 ZMQ对ZMQ说话,没有别的。

好处是WebRTC(RTP)是相似的。所以如果你已经在使用WebRTC,那可能意味着你控制了所有的软件。这意味着您可以将其更改为使用ZMQ。 [替代方案,例如WebRTC链接的另一端是一些无法更改的服务器系统,可能会阻止您将Android应用更改为ZMQ。]

至于用ZMQ替换WebRTC,那么取决于它是什么你正在尝试发送。 ZMQ从根本上处理消息。消息是一个字节数组。消息的字节在单个发送/接收操作中作为一个块从发送方发送到接收方。如果这样做不合适(例如,您的视频流在逻辑视频块之间没有明显的分界线),那么您可能会遇到问题。

人们经常使用的东西,像谷歌协议缓冲器来定义邮件类,他们随后向序列化的字节数组,而它的这些那些在消息中发送。接收端在解串器中传递接收到的字节数组,按原样重新构造类。

祝你好运

相关问题