zeromq是对等视频聊天的正确解决方案

Cla*_*ire 5 video tcp chat zeromq peer

我想知道我对zeromq的想法是否正确?我正在考虑使用zeromq编写一个点对点聊天应用程序但是当我进一步阅读它时,zeromq似乎比使用的更低级别(tcp套接字).zeromq是否适合编写点对点聊天应用程序,或者此用例不适用?

Ral*_*alf 11

首先,我不同意你的说法,即zeromq 比套接字低级.AFAICT zeromq提供了一个类似于套接字API的API.但是,它也可以处理其他事情,例如使用相同的发送调用向多个客户端发送消息.

其次,你的问题不是很明确:你的意思是什么:易于写(因为你指的是低级),可靠,有效,等等?您可以使用任何您想要的东西,实现复杂程度当然会有所不同.

此外,您应该在视频聊天应用程序中使用udp而不是tcp,因为数据到达时间比所有数据到达重要,但这是一个完全不同的主题.如果您可以将zeromq与udp一起使用(并且您必须对其进行研究),我认为您无法将其用于视频聊天.

您需要考虑的主要因素是您是否能够足够快地在对等体之间发送数据以提供可接受的QoS:AFAIR对于会话服务而言,大约300ms的最大RTT被认为是可以的.

以下链接适用于VOIP,但也应适用于视频聊天要求:

大多数呼叫者在超过250毫秒时会注意到往返延迟,因此单向延迟预算通常为150毫秒.ITU-T G.114建议书还规定150毫秒作为实现高质量语音的最大期望单向延迟.除了这种往返延迟之外,呼叫者开始感到不安,进行双向对话,并且通常最终会互相交谈.在往返时间超过500毫秒时,电话是不切实际的,在你离开房间后,你几乎可以讲一个笑话并让另一个人笑.