使用 Socket.IO 和 NodeJS 实现音频聊天

Posted

技术标签:

【中文标题】使用 Socket.IO 和 NodeJS 实现音频聊天【英文标题】:Implementing Audio chat with Socket.IO and NodeJS 【发布时间】:2015-05-22 07:09:57 【问题描述】:

我使用sails.js (node.js) 和socket.IO 创建了一个聊天应用程序。

我需要同时实现audio chatfile transfers

谁能帮助我获得将WebRTCsocket.IO 集成的基本教程链接?

提前致谢。

【问题讨论】:

【参考方案1】:

如果我是你,我会使用同时提供客户端和服务器端的 WebRTC 库。检查EasyRTC、SimpleWebRTC、PeerJS 或其他。大多数库都用 javascript 实现并在 Node.js 中运行。

您可以在他们各自的网站上找到教程。

我个人使用PeerJS,代码和文档都非常好,并且完全支持数据通道(对于文件传输很有用)。唯一不足的是创始人只有2个,而且社区看起来很小。

【讨论】:

WebRTC 对 IE 和 Safari 的支持有限。那么如何解决这个问题呢? 可以在没有WebRTC的情况下实现音视频聊天吗? Safari 和 Edge 现在有了更好的支持。谁在乎IE?鉴于 Flash 现在正式死了,我想 WebRTC 是浏览器中唯一的跨平台解决方案。 感谢您的快速回复。在我看来,WebRTC 是进行视频和音频聊天的方式。【参考方案2】:

我还计划在 nodejs 上制作你的那种应用程序。在我的研究中,我发现 WEBRTC 对移动浏览器的支持是有限的。在当今世界,每当我们构建 Web 应用程序时,我们都认为我们的大部分用户将在手机上使用它。 WebRtc 在 chrome、Firefox 和 opera 等安卓浏览器上得到支持。但在 iPhone 上,它不支持 safari 也不支持 windows phone 浏览器。 你应该看看 https://www.wowza.com/docs/wowza-streaming-cloud-free-trial 上的 Wowza 流媒体云

【讨论】:

以上是关于使用 Socket.IO 和 NodeJS 实现音频聊天的主要内容,如果未能解决你的问题,请参考以下文章

原生 nodejs 结合 Socket.io 实现服务器和 客户端的相互通信

NodeJs Socket.io Rooms

NodeJs Socket.io 房间

nodejs socket.io

在nodejs中使用socket.io和net socket

Nodejs & Socket.io 可以支持多少用户?