流水不争先,争的是滔滔不绝

走进即时通讯世界

IM源码 macgrady 192℃

(webRTC.io)

何为即时通讯:即时通信(instant message,IM)是指能够即时发送和接收互联网消息等的业务。其允许多人使用即时通信软件实时的传递文字信息、文档、语音以及视频等信息流。Yunliao团队经过多年技术研发,不断提升以及完善,快速搭建部署完全私有的聊天系统,打造成一套完整的即时通讯解决方案,使它具有企业内部交流,语音视频,客户服务等综合性的商务平台。全程加密通讯,安全可靠。可支持海量并发架构,自动弹性伸缩。详情可联系客服人员提供DEMO直接体验,开始您的畅聊之旅。

VX:yunliaoim

QQ:340554038

webRTC技术是什么? WebRTC,名称源自网页即时通信(Web RealTime Communication的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的API它于2011年6月1日开源并在Google、Mozilla、Opera支持下被纳入万维网联盟的W3C推荐标准.

首先看看webRTC.io的使用

往webrtc.io的listen方法中传入server对象,即可得到webRTC对象~

**进入webrtc.io这个库,发现里面只有一个index.js文件

在rtc中初始化一个属性sockets为空数组,每次有socket对象连接,那么就把句柄对象保存起来,以后调用socket.send就可以往内核缓冲区写入数据,再根据tcp的Nagle算法,适时推送数据给client端

id()是一个生成唯一id属性的函数,类似UUID

即时通讯由于是双工通讯,需要两边定义好自己的一套实现协议,例如事件名称,数据,然后两端的分别处理情况。  所以这里也可以提前定义好对应的事件处理~ 事件名称在每次传输的数据过程中就带入进去。

这样一开始就提前定义好了自定义事件回调,那么接受到数据后就会触发对应的回调,并且传入socket句柄对象和payload载荷数据

下面是一个加入聊天房间的触发回调

原文链接:https://segmentfault.com/a/1190000021380251

版权声明:部分文章、图片等内容为用户发布或互联网整理而来,仅供学习参考。如有侵犯您的版权,请联系我们,将立刻删除。
点击这里给我发消息