|
网站内容均来自网络,本站只提供信息平台,如有侵权请联系删除,谢谢!
简介
一个Node.js编写的WebRTC服务器端库,为服务器端库,需要配合客户端库SkyRTC-client共同使用,用于搭建基于WebRTC和WebSocket技术的在线音频、视频聊天室
SkyRTC前端库SkyRTC-client
SkyRTC-client
简单示例
NPM安装
执行如下命令从npm进行安装:
监听服务器
- var express = require('express'); var app = express(); var server = require('http').createServer(app); var SkyRTC = require('skyrtc').listen(server); var port = process.env.PORT || 3000; server.listen(port);
复制代码 监听WebRTC事件
SkyRTC继承自EventEmitter, 可以通过如下语法监听事件:
- SkyRTC.rtc.on('eventName', function(params) { //... });
复制代码 内置事件
- new_connect
- new_peer
- remove_peer
- socket_message
- ice_candidate
- offer
- answer
new_connect
新用户与服务器建立WebSocket连接时触发
参数:
- socket——新建立的WebSocket连接实例
new_peer
用户加入房间后触发
参数:
- socket——用户使用的WebSocket连接实例
- room——房间名称
remove_peer
用户关闭连接后触发
参数:
- socket——用户使用的WebSocket连接实例
socket_message
客户端向服务器端发送消息,且非自定义事件格式时触发
参数:
- socket——用户使用的WebSocket连接实例
- msg——发送的消息内容
ice_candidate
接收到ice candidate信令时触发
参数:
- socket——用户使用的WebSocket连接实例
- candidate——ice candidate信令数据
offer
接收到offer信令时触发
参数:
- socket——用户使用的WebSocket连接实例
- offer——offer信令数据
answer
接收到answer信令时触发
参数:
- socket——用户使用的WebSocket连接实例
- answer——answer信令数据
接口
- getRooms
- broadcastInRoom
- broadcast
- getSocket
- on
getRooms
用户获取当前服务器上所有房间信息
参数: 无
返回值:
getSocket
通过socket的id获得socket实例
参数:
返回值:
broadcastInRoom
在房间中广播消息
参数:
- room——被广播消息的房间名称
- data——消息的具体内容
- errorCb——广播失败时的回调函数
返回值: 无
broadcast
向服务器上的所有用户广播消息
参数:
- data——消息的具体内容
- errorCb——广播失败时的回调函数
返回值: 无
on
向服务器上的事件绑定处理器
参数:
- eventName——被绑定的事件名称
- callback——被绑定的事件触发时的回调函数
返回值: 无
自定义事件
在SkyRTC中可以自定义事件,在前端页面使用WebSocket发送信息时,以如下JSON格式发送信息:
- { "eventName": "yourOwnEventName", "data": { //自定义事件数据 } }
复制代码 在后台通过监听同名事件来进行处理:
- SkyRTC.rtc.on("yourOwnEventName", function(data){ //data将是前台所传输的数据 });
复制代码 自定义事件请不要与上述SkyRTC原生事件重名
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |
免责声明
1. 本论坛所提供的信息均来自网络,本网站只提供平台服务,所有账号发表的言论与本网站无关。
2. 其他单位或个人在使用、转载或引用本文时,必须事先获得该帖子作者和本人的同意。
3. 本帖部分内容转载自其他媒体,但并不代表本人赞同其观点和对其真实性负责。
4. 如有侵权,请立即联系,本网站将及时删除相关内容。
|