加入信令信道
现在,我们转到第二个客户端,即通道连接器,重点关注 图4-6 所示的呼叫流程部分。
图4-6 加入已经存在的通道
为了完整起见,我们这次将使用 Firefox 作为客户端浏览器,在加载应用程序页面后,其外观如 图4-7 所示。
如前所述,客户端首先连接到服务器,然后发送创建或加入请求。 由于这次请求方不是发起方,因此服务器的行为将由以下代码段驱动:
...
} else if (numClients == 1) {
// Inform initiator...
io.sockets.in(channel).emit('remotePeerJoining', channel);
// Let the new peer join channel
socket.join(channel);
socket.broadcast.to(channel).emit('broadcast: joined', 'S --> broadcast(): client ' + socket.id + ' joined channel ' + channel);
...
基本上,服务器将:
- 通知通道发起者新加入请求的到来。
- 允许新客户进入已经存在的房间。
- 更新(通过广播消息)频道启动程序有关加入操作成功完成的信息,使其准备开始新的对话。
图4-7 在 Firefox 中加载的示例页面(通道连接器)
图4-8 报告了这样的一系列操作,该图显示了呼叫流程此阶段的服务器控制台。
图4-8 信令服务器管理加入者的请求
图4-9 和 图4-10 分别显示了加入者和发起者的窗口,在加入者和发起者成功加入后者创建的信令通道之后。 正如读者所认识到的那样,此服务器端操作序列在启动器的 HTML5 页面(图4-10)中以红色报告,现在提示用户要在服务器中介的通信路径上交换第一条消息。
图4-9 加入频道后的加入者窗口
图4-10 设置通道后开始对话
当前内容版权归 Salvatore Loreto & Simon Pietro Romano 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 Salvatore Loreto & Simon Pietro Romano .