我想知道我对zeromq的想法是否正确?我当时在考虑使用zeromq编写对等聊天应用程序,但随着我对它的深入了解,zeromq似乎比使用的东西(tcp套接字)更底层。 zeromq是否适合编写对等聊天应用程序,或者该用例不适用?
最佳答案
首先,我不同意您的说法,zeromq比套接字更底层。 AFAICT zeromq提供了与套接字API相似的API。但是,它也可以处理其他事情,例如使用相同的发送调用将消息发送到多个客户端。
其次,您的问题不是很清楚:好的意思是什么:易于编写(由于您指的是底层的),可靠,足够有效等?您可以使用任何所需的东西,实现复杂性的程度当然会有所不同。
另外,您可能应该在视频聊天应用程序中使用udp而不是tcp,因为与所有数据到达相比,数据及时到达比这更重要,但这是一个完全不同的主题。如果您可以将zeromq与udp一起使用(并且必须进行研究),我认为没有理由不能将其用于视频聊天。
您需要考虑的主要因素是,您是否可以足够快地在对等体之间发送数据以提供可接受的QoS:对于对话服务,AFAIR的最大RTT约为300毫秒是可以的。
以下link适用于VOIP,但也应适用于视频聊天要求:
关于video - zeromq是对等视频聊天的正确解决方案,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8752255/