DataChannel.js是webRTC封装库的一个js对象文件,由muaz-khan发布在GitHub上,https://github.com/muazkhan/WebRTCExperiment/tree/master/DataChannel。DataChannel.js是一个用于实现多对多用户组文件/数据分享或者文本聊天Web APP的javascript库,语法简单而且易于使用,极大地简化了一些复杂的任务,例如:消息传输,用户的加入和退出,等等。同时提供了许多扩展功能:可以直接借用DataChannel的现有的funcition来处理用户的加入,会话的关闭等情形,也可以扩展DataChannel的功能,比如 可以扩展DataChannel.js的一些function来实现对在线用户的检测。
而且DataChannel.js极好地一点是,无论是文本消息,文件,还是一般数据,大小都是不限制的。
由此可以借助DataChannel来实现Cloud_TV中视频段传输的功能,当然在本文中仅仅是对DataChannel的一次验证性使用,来尝试使用其各种功能。
首先来介绍一下使用到得DataChannel.js 的一些function:
open("channel_name");// 创建或者打开一个以channel_name为名的channel
connect("channel_name");//加入一个以channel_name标示的channel,前提是该channel已经被打开
send(file|data|"text-message");//向该channel内的所有终端发送文件/数据/文本消息
onopen(userid);//当检测所某个user_id为userid的用户加入channel时的处理方法,可以被ovverride
onmessage(message,userid,latency)//当检测到某个user_id为userid的用户向channel内发送消息时的处理方法,可以被ovverride,latency是消息的延迟时间
channels[userid].send(file|data|'text message');//向channel内用user_id为userid的用户直接发送消息(文件,数据或者文本消息)
leave();离开当前channel,中止会话
onleave(userid);检测到user_id为userid 的用户离开时的处理函数
join(data_channel); //使用join的方式加入一个channel
join({id:datachannel.id,owner:datachannel.owner});//使用join的方式加入一个channel
使用上面的function,通过<script src="https://www.webrtc-experiment.com/DataChannel.js"> <

本文介绍了如何利用DataChannel.js,一个WebRTC封装库,实现多对多用户的数据分享和文本聊天应用。DataChannel.js提供简单的API,如open、connect、send等,用于创建和管理通道,以及处理用户加入、离开等事件。文章探讨了两种添加在线频道列表功能的方法,并分析了DataChannel.js中的关键代码行。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



