使用 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 chat
和file transfers
。
谁能帮助我获得将WebRTC
与socket.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 实现服务器和 客户端的相互通信