webRTC结合webSocket实时通信

WebSocket作为HTML5协议,实现浏览器与服务器双向通信。结合WebRTC,可用于实时语音视频通话。通过getUserMedia获取媒体流,利用WebRTC事件监听如onicecandidate,方法如addTrack、setLocalDescription,借助WebSocket的事件监听和方法如onopen、onmessage、close、send,实现全双工通信。
摘要由CSDN通过智能技术生成

webocket

WebSocket是HTML5新增的协议,它的目的是在浏览器和服务器之间建立一个不受限的双向通信的通道。

为什么传统的HTTP协议不能做到WebSocket实现的功能?这是因为HTTP协议是一个请求-响应协议,请求必须先由浏览器发给服务器,服务器才能响应这个请求,再把数据发送给浏览器。换句话说,浏览器不主动请求,服务器是没法主动发数据给浏览器的。

为什么WebSocket连接可以实现全双工通信而HTTP连接不行呢?实际上HTTP协议是建立在TCP协议之上的,TCP协议本身就实现了全双工通信,但是HTTP协议的请求-应答机制限制了全双工通信。

webSockert使用

常用事件监听

webSocket.onopen

用于指定连接成功后的回调函数

webSocket.onmessage

用于指定当从服务器接受到信息时的回调函数

webSocket.onclose

用于指定连接关闭后的回调函数

webSocket.onerror

用于指定连接失败后的回调函数

常用方法

webSocket.close()

关闭当前链接

webSocket.send()

向服务器发送数据,当前webSocket暂时只支持发送字符串以及二进制数据。

示例

<!--解决大部分浏览器适配的问题-->
var sc = document.createElement('script')
sc.src = 'https://webrtc.github.io/adapter/adapter-latest.js'
document.head.appendChild(sc)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值