怎么做插座.io的实现在webtc视频通话和什么我要改变在server.js
How to do socket.io implementation in Webrtc Video calling and what i have to change in the server.js?
如何做插座。io在webtc视频通话中的实现?
有点过载,但它可以工作:SocialVidRTC
我从你的问题中了解到,你已经有一个WebRTC项目和一些在server.js中的信号机制,可能是websockets。
将其替换为socket。io或任何其他信令如SIP/XHR/AJAX等,你需要用新的套接字替换server.js。基于IO的请求和响应代码。
遵循以下步骤:
-
为socket.io创建一个https服务器(因为webrtc页面只从安全来源捕获web cam输入)。将server赋值给一个变量,比如app。
var fs = require('fs'); var https = require('https'); var options = { key: fs.readFileSync('ssl_certs/server.key'), cert: fs.readFileSync('ssl_certs/server.crt'), ca: fs.readFileSync('ssl_certs/ca.crt'), requestCert: true, rejectUnauthorized: false }; var app = https.createServer(options, function(request, response){ request.addListener('end', function () { file.serve(request, response); }).resume(); }); app.listen(8081);
这里服务器。钥匙,服务器。crt和ca.crt是假ssl证书,8081是我选择的https端口。您也可以重用相同的HTTPS服务器来托管网页。
-
在这个端口监听套接字。使用app之前定义的
var io = require('socket.io').listen(app, { log: false, origins: '*:*' }); io.set('transports', [ 'websocket' ]);
现在实现信令特定的功能和调用,如
io.sockets.on('connection', function (socket) { ... socket.on('webrtc-joinchannel',function(data){ var resp=joinChannel(data); socket.emit('resp-webrtc-joinchannel', resp); }); ... });
我只选择websocket,但你也可以设置其他类型的传输,如
socket.set('transports', [
'websocket'
, 'flashsocket'
, 'htmlfile'
, 'xhr-polling'
, 'jsonp-polling'
]);
注意:我使用套接字。
如果你想要一个示例实现,你可以查看任何示例项目,如这里
相关文章:
- 为什么我要将函数添加到对象原型中,而不是将其添加到对象中
- 不知道我要写什么剧本
- 如何使用AJAX函数在不刷新页面的情况下发送表单,我缺少什么?我必须为此使用休息框架吗?
- 在 JavaScript 中,条件语句中 OR 运算符的正确语法是什么?我错过了什么
- 为什么我要双击“a href”属性来重新加载页面
- 为什么我要在jQuery(function ($) { });中封装一个jQuery函数
- 如何使用我要编辑的 html 表中行中的数据填充表单中的输入字段
- 我在 JS 中做错了什么?我需要每个元素的一个坐标,但不是全部
- google_tag_params的意义是什么——为什么我要编码两次
- 为什么我要使$scope$apply()
- 按下escape退出全屏时发生了什么?我如何用按钮复制它
- 为什么我要使用AngularJS中的工厂
- 如何使用jQuery检查我要离开到另一个网站
- HTML:花括号中的这个变量是什么?我以前从未见过
- 在没有jQuery的Javascript中,我要查找一个数组中的任何值是否存在于单独的数组中
- 这段代码在做什么?我不确定这个 $ 角色和 Jquery 的新手
- 为什么我要将jQuery从1.9.1更新到2.0.2 ?
- 我要退货吗?
- 我要在鼠标悬停功能上更改 javascript 中
- 怎么做插座.io的实现在webtc视频通话和什么我要改变在server.js