licode从客户端到连上信令服务器流程
var config = {audio: true,
video: true,
data: true,
screen: screen,
videoSize: [640, 480, 640, 480],
videoFrameRate: [10, 15]
};
localStream = Erizo.Stream(config);
今天在使用nodejs的request时发生了一个错误,
对方网站的证书设置的不正确导致本地请求不能返回数据;
解决方案是在配置request时加入一个忽略证书验证得字段
rejectUnauthorized:false
ErizoClient中的room.connect调用Socket.js中的connect函数中调用下面的代码:
// First message with the token
that.sendMessage('token', token, (response) => {
that.state = that.CONNECTED;
that.id = response.clientId;
callback(response);
}, error);
NUVE_KEY在配置文件中 token.tokenId+','+token.host进行sha1计算再base64编码.
1、3004端口的index.html中的script.js中调用/createToken/参数是roomData
var roomData = {username: userName,
version: 'v1.0.0',
platform: 'win',
role: 'presenter',
room: roomName,
type: roomType,
meta: 'chrome',
mediaConfiguration: mediaConfiguration};
1.2 使用nuve Client的接口来创建token,发送rooms/:room/tokens信令到3000端口。
1.3 nuve Server监听3000端口,接收创建token命令。
1.4 为当前房间分配一个erizoController
1.5 将token(内含roomData和erizoController IP)保存到mongodb.
2、使用/createToken的返回值来创建room
{"tokenId":"5c9058acc5271",
"host":"controller-rtc.com:80",
"secure":true,
"signature":"NzJmQ1MDMxzOGMwYjhjNw=="
}
room = Erizo.Room({token: token});
0、nuve启动后会连到rabbit,监听来自rpcExchange队列nuve中的消息。
3、erizoController启动后会连接到rabbit,监听来自rpcExchange队列clientQueue中的消息(队列名随机)
3.1 erizoController Server收到第二步创建的token后,先检查,再nuve Client RPC调用deleteToken,
3.2 NuveProxy.js中定义调用callRpc,指定了消息发到哪个队列中。
new Promise((resolve, reject)
调用的地方: then后的方法即resolve,reject方法如果没有,那么catch内的代码即reject。
3.3 amqper.js中exports.callRpc,里面设置了回收消息的队列名。
licode从客户端到连上信令服务器流程的更多相关文章
- Lodop不要把客户端的打印机共享到服务器上 再在客户端打印
客户端打印需要每个客户端都安装,Lodop插件方式和C-Lodop方式,都是安装一次后,无需再次安装,c-lodop默认也是开机自启动的.集中打印方式,可以打印到某台电脑(作为云主机)上,但是不能打印 ...
- 在C#客户端用HTTP上传文件到Java服务器
在C#客户端用HTTP上传文件到Java服务器 来源:http://www.cnblogs.com/AndyDai/p/5135294.html 最近在做C / S 开发,需要在C#客户端上传文件到 ...
- 一步一步搭建客服系统 (2) 如何搭建SimpleWebRTC信令服务器
上次介绍了<3分钟实现网页版多人文本.视频聊天室 (含完整源码)>使用的是default 信令服务器,只是为了方便快速开始而已.SimapleWebRTC官方文档里第一条就讲到,不要在生产 ...
- webrtc 实时视频 .net websocket信令服务器
这篇文章主要参考了 Webrtc WebSocket实现音视频通讯,非常感谢提供代码 前端部分完全是从这篇文章复制过来的,只是修改了webscket的url,还有加入了webrtc-adapterjs ...
- 如何搭建WebRTC信令服务器
WebRTC 有一整套规范,如怎样使用它的接口.使用SDP进行媒体协商.通过ICE收集地址并进行连通性检测等等.除此之外,WebRTC还需要房间服务器将多端聚集到一起管理,以及信令服务器进行信令数据交 ...
- Linux 本地文件或文件夹上传服务器
Linux 本地文件或文件夹上传服务器 一.权限设置 本地文件或文件夹上传服务器,你首先需要获取到root权限: 二.上传方式 上传方式有两种 : 1.通过 FTP 客户端上传文件或文件夹: 2.通过 ...
- HTTP文件上传服务器-支持超大文件HTTP断点续传的实现办法
最近由于笔者所在的研发集团产品需要,需要支持高性能的大文件http上传,并且要求支持http断点续传.笔者在以前的博客如何实现支持大文件的高性能HTTP文件上传服务器已经介绍了实现大文件上传的一些基本 ...
- SQLServer 2005客户端远程连接sql2008 数据库服务器
SQL2005客户端远程连接sql2008 数据库服务器 by:授客 QQ:1033553122 准备工作: 客户端所在pc机配置: 配置数据源 控制面板-管理工具-ODBC数据源-系统DSN-添加- ...
- node中一个基本的HTTP客户端向本地的HTTP服务器发送数据
上一篇讲到了node可以轻松的向其他请求数据. 这一篇就来讲讲向本地服务器的数据交互. HTTP服务器代码,s.js var http=require("http"); var s ...
随机推荐
- 应用Fiddler对手机应用来抓包
Fiddler是一款非常流行并且实用的http抓包工具,它的原理是在本机开启了一个http的代理服务器,然后它会转发所有的http请求和响应,因此,它比一般的firebug或者是chrome自带的抓包 ...
- Highcharts 配置语法;Highcharts 配置选项详细说明
Highcharts 配置语法 本章节我们将为大家介绍使用 Highcharts 生成图表的一些配置. 第一步:创建 HTML 页面 创建一个 HTML 页面,引入 jQuery 和 Highchar ...
- magento: Your web server is configured incorrectly. As a result, configuration files with sensitive information are accessible from the outside 解决方案
在linux(以UBUNTU, CENTOS为例)下安装完成magento时,在进入后台时, 有些童鞋可能会发现有如下的提示: Your web server is configured incorr ...
- HDU 3779 Railroad(记忆化搜索)
Railroad Time Limit : 4000/2000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) Total Subm ...
- Git 分布式版本控制的常见命令
Git 的作用: (1)方便多人协同开发; (2)方便版本控制 Git 分布式版本控制的主要区域及命令图,下面会详细讲解: 创建项目并将切换至项目目录下 1. 创建本地仓库: git init ...
- Android Studio com.android.dex.DexException: Multiple dex files define(重复引用包),androiddefine
Android Studio com.android.dex.DexException: Multiple dex files define(重复引用包),androiddefine 如果你用Andr ...
- 特征金字塔网络 FPN
一. 提出背景 论文:Feature Pyramid Networks for Object Detection [点击下载] 在传统的图像处理方法中,金字塔是比较常用的一种手段,像 SIFT 基于 ...
- [置顶]
Deep Learning 资料库
一.文章来由 网络好文章太多,而通过转载文章做资料库太麻烦,直接更新这个博文. 二.汇总 1.台大李宏毅老师的课 正片:http://speech.ee.ntu.edu.tw/~tlkagk/cour ...
- Android 框架学习3:从 EventBus 中学到的精华
关联文章: EventBus 3.0 的特点与如何使用 源码分析 EventBus 3.0 如何实现事件总线 学习的目的是为了超越,经过前面对 EventBus 3.0 的学习,我们已经对它相当熟悉了 ...
- 在ORACLE中移动数据库文件
转载: 在ORACLE中移动数据库文件 --ORACLE数据库由数据文件,控制文件和联机日志文件三种文件组成. --由于磁盘空间的变化,或者基于数据库磁盘I/O性能的调整等, --我們可能会考虑移动数 ...