如何使用webRTC,node.js和socket.io构建多用户视频聊天Web应用程序

sha*_*set 6 javascript node.js socket.io webrtc

我试图制作一个支持多用户视频聊天的网络应用程序.香港专业教育学院阅读了一篇关于webrtc"webrtc入门"的文章(http://www.html5rocks.com/en/tutorials/webrtc/basics/),并在codelab上做了一些演示.但我仍然不知道如何使它成为一个三方会议call.i真的不知道很多关于node.js和socket.io.刚刚开始学习它们,因为我试图建立这个视频网络应用程序.

所以我的问题是webrtc或socket.io的哪一部分确定超过2个用户可以加入呼叫?或者你们指导我的任何资源?

提前致谢.

Mur*_*ian 6

WebRTC是没有服务器的点对点协议(浏览器到浏览器),所以你必须知道我的浏览器我必须知道你的浏览器意味着(你的浏览器编解码器,公共IP,端口等)然后我们才能够沟通,所以我们使用信令(socket.io:web套接字双向通信协议发送一些关于我浏览器的信息,并接收一些关于你浏览器的信息,用nodeJS服务器然后建立对等连接)

在使用网状网络的WebRTC中也可以进行三次用户通信,看到你向我发送一些信息(浏览器信息),同时你将这些信息发送给其他同行,当我收到一些关于你的信息我会发送一些关于我的信息对你和其他同行来说,同样的事情也会发生在其他同行中.

这里有关于网状网络http://en.wikipedia.org/wiki/Mesh_networking的一些细节


Mik*_*ren 4

我想说这里有两件不同的事情。WebRTC 需要信令来建立两个节点之间的点对点通信。我认为使用 Node.js 和 Socket.js 来实现此目的是正确的。

但决定第三方是否可以加入会议的不是WebRTC(或socket.io),而是你自己决定的。这是信令的另一部分,与 WebRTC 关系不大。

这意味着您要实现设置会议室、发现可用会议室、加入会议室等功能。当三部分​​会议启动并运行时,每个节点将有两个对等连接,每个连接到其他节点。