webrtc服务器janus通信方法学习二

webrtc服务器janus通信方法学习二

 

网关部署了一个客户端可以利用的接口。这个janus.js库以透明的方式使用它,其中与之交流的接口都封装好了,也可以自己使用其他方式进行通信,我不使用js接口与之通信,我使用window socket进行,下面描述了API暴露的接口和协议,使用。

1.The gateway root (/janus by default, but configurable), 发送POST 来使用网关创建一个线程; 
2.The session endpoint (e.g., /janus/12345678, using the identifier retrieved with a previous create), 使用GET 或者 POST 来创建插件句柄,例如创建echotest

3.The plugin handle endpoint (e.g., /janus/12345678/98765432, appending the handle identifier to the session one) 发送GET,收到POST信息。

交流信息包括两个信息: 
1. janus: the request/event (e.g., “create”, “attach”, “message”, etc.); 
2.transaction: 与插件进行交流信息。

创建新的线程,

发送POST t”create” JSON命令。

{
        "janus" : "create",
        "transaction" : "<random alphanumeric string>"
}

成功响应:
{
        "janus" : "success",
        "transaction" : "<same as the request>",
        "data" : {
                "id" : <unique integer session ID>
        }
}

发送: 
var transaction = Janus.randomString(12); 
var request = { “janus”: “create”, “transaction”: transaction }; 
响应: 
这里写图片描述 
Object { janus: “success”, transaction: “1Q26Ir6XRzNa”, data: {…} } janus.js:819:5

创建插件句柄

createHandle

发送: 
var transaction = Janus.randomString(12); 
var request = { “janus”: “attach”, “plugin”: plugin, “opaque_id”: opaqueId, “transaction”: transaction };

成功响应:

Object { janus: “success”, session_id: 8374001098332022, transaction: “MXRbvzbKlhH5”, data: {…} } janus.js:1076:5

这里写图片描述

与插件通信

发送:

这里写图片描述

收到成功响应: 
这里写图片描述

插值经过自己的处理反馈回应: 
通过Long-poll requests 插件主动对客户端通信 

“janus” : “event”, 
“sender” : 1815153248, 
“transaction” : “sBJNyUhH6Vc6”, 
“plugindata” : { 
“plugin”: “janus.plugin.echotest”, 
“data” : { 
“echotest” : “event”, 
“result” : “ok” 

}, 

这里写图片描述

WebSockets

要使用WebSockets与Janus交互,你必须指定一个特定的子协议,命名为janus-protocol例如

var websocket = new WebSocket('ws://1.2.3.4:8188','janus-protocol');

正如本节开头所预期的那样,交换的实际消息完全相同。这意味着之前介绍的所有概念仍然适用:您仍然创建会话,附加到插件并以完全相同的方式与其交互。当然,不同的是当使用WebSocket作为控制通道时,REST路径方法变得不可用。为了解决使用WebSocket失踪的标识符,您需要在需要时为请求添加额外的字段。

因此,当您想使用REST API创建会话时,您需要向网关基本路径发送POST:

{
        "janus" : "create",
        "transaction" : "<random alphanumeric string>"
}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值