对等连接和信令整合(六)
你会学到什么
在这一步中,您将了解如何:
- Node环境下使用http://Socket.IO运行WebRTC信令服务。
- 使用该服务在对等体之间交换WebRTC元数据。
此步骤的完整版本位于step-05文件夹中。
替换HTML和JavaScript
将index.html的内容替换为以下内容:
<!DOCTYPE html>
<html>
<head>
<title>Realtime communication with WebRTC</title>
<link rel="stylesheet" href="/css/main.css" />
</head>
<body>
<h1>Realtime communication with WebRTC</h1>
<div id="videos">
<video id="localVideo" autoplay muted></video>
<video id="remoteVideo" autoplay></video>
</div>
<script src="/socket.io/socket.io.js"></script>
<script src="js/lib/adapter.js"></script>
<script src="js/main.js"></script>
</body>
</html>
将js/main.js替换为step-05/js/main.js的内容。
运行Node.js服务器
如果您的Node.js服务器没有运行,请在工作目录中调用以下命令来启动它
shell
node index.js
(确保你使用的是上一步实现http://Socket.IO的index.js版本。)
在浏览器中打开localhost:8080。
在新的选项卡或窗口中再次打开 localhost:8080。 一个视频元素将显示来自getUserMedia() 的本地流,另一个将显示RTCPeerconnection传输的“远程”视频流。
每次关闭客户端选项卡或窗口时,都需要重新启动Node.js服务器。
在浏览器控制台中查看日志。
知识扩展
- 此应用程序只支持一对一的视频聊天。 如何设计成让多个人共享同一个视频聊天室?
- 这个例子的房间名称foo是硬编码的。 设置其他房间名称最好的方式是什么?
- 用户如何分享房间名称? 尝试构建一个分享房间名称的方案。
- 你想怎么改变这个应用程序
你学到了什么
在这一步你学会了如何:
- Node环境下使用http://Socket.IO运行WebRTC信令服务。
- 使用该服务在对等方之间交换WebRTC元数据。
此步骤的完整版本位于step-05文件夹中。
提示
- WebRTC统计信息和调试数据可以从chrome://webrtc-internals中获得。
- http://test.webrtc.org可用于检查您本地环境并测试您的相机和麦克风。
- 如果您在缓存方面遇到奇怪的麻烦,请尝试以下操作:
按住ctrl键并点击Reload按钮,进行硬刷新
重新启动浏览器
从命令行运行npm cache clean。
下一步
了解如何拍照,获取图像数据,以及如何在对等体之间远程共享图像。