聊天使用啥协议? webRTC 或 Websockets

Posted

技术标签:

【中文标题】聊天使用啥协议? webRTC 或 Websockets【英文标题】:What Protocol to use for chat? webRTC or Websockets聊天使用什么协议? webRTC 或 Websockets 【发布时间】:2013-03-29 14:00:49 【问题描述】:

我正在创建一个可以进行视频、音频和文本聊天的聊天网站。我目前正在使用 Websockets 进行文本聊天。我需要知道什么最擅长视频、音频和文本聊天。哪个更有效。我应该为所有这些使用 Websockets,还是为视频和音频使用 webRTC,为文本聊天使用 Websockets。我可以两者都做,并且不想为 webRTC 重新编写我的文本聊天,但如果这是一个更好的选择,那么我会的。编辑:我刚刚发现binaryJS,这是不是 webRTC 更好更简单的替代方案? 谢谢, @_C1D

【问题讨论】:

【参考方案1】:

通过将视频和音频流嵌入 websocket,您将拥有一个更简单的系统,但所有内容都必须通过您的服务器。

WebRTC 允许对之间直接连接,因此使用它可以获得更好的结果。

另请注意,但您可能已经知道,webRTC 的一切都刚刚出现。

关于编辑中的问题,关于 binaryJS :我从未尝试过,但它看起来不像是一个交易改变者,只是一个使用 websockets 的工具。

【讨论】:

所以 webRTC 不需要服务器? 您必须在 ICE 服务器(您可以使用 Google 的服务器)的帮助下建立连接,但过去流“直接”从一个浏览器流向另一个浏览器,而无需通过您的服务器. 使用 WebRTC,您可能只需要服务器来管理客户端之间的连接,而不是实际的数据传输。就效率而言,这是一个更好的答案,但是,支持有点不稳定。 “有点不稳定”这一点很重要。即使您习惯于处理新兴技术,您也可能会发现一些细节处理起来很痛苦。 我想我将使用 webRTC 来处理视频和音频。老实说,我设法让一个 websocket 视频客户端工作,但它非常滞后,请注意我在本地主机上。

以上是关于聊天使用啥协议? webRTC 或 Websockets的主要内容,如果未能解决你的问题,请参考以下文章

iOS - 带有 WebRTC 的 XMPP 用于实时视频通话或聊天

WebRTC 有多少个通道以及使用了哪些传输?

Java+Netty+WebRTC语音视频屏幕共享聊天室设计实践

有啥方法可以在不使用 XMPP 协议的情况下连接到 Facebook 聊天服务?

基于WebRtc实现安卓视频一对一聊天

webrtc源码用啥语言编写