html5 websockets学习 -凯发k8官方网
2019独角兽企业重金招聘python工程师标准>>>
轮询、长轮询及流三种提供实时数据凯发k8官方网的解决方案,都会涉及到http请求和相应报头,其中包含大量额外的、不必要的报头数据,会造成传输延迟。
websocket,是web应用程序的传输协议,类似于tcp,提供了双向的、按序到达的数据流。作为web的一部分,websocket连接的是url,而非因特网上的主机和端口。
websocket使用:
要连接远程主机,只需要新建一个websocket实例,提供希望连接的对端url。
ps:ws://和wss://前缀分别表示websocket连接和安全websocket连接
基于同一底层tcp/ip连接,在客户端和服务器端之间的初始握手阶段,将http协议升级至websocket协议,websocket连接就建立完成了。连接一旦建立完成,websocket数据帧就可以以全双工的模式在客户端和服务器间进行双向传送。
连接本身,是通过websocket接口定义的message事件和send函数来运作的。
时间监听器:
websocket编程遵循异步编程模式;
打开socket后,只需要等待事件发生,而不需要主动向服务器轮询,所以需要在websocket对象中添加回调函数来监听事件:
四个事件:
open:socket连接建立时被触发
message:收到消息时被触发
close:socket连接关闭时被触发
error:错误事件发生时会响应未料到的错误
事件处理回调函数:
onopen: websocket.onopen = function(e) {...}
onmessage: websocket.onmessage = function(e) {...}
onclose: websocket.onclose = function(e) {...}
onerror: websocket.onerror = function(e) {...}
发送消息:
websocket处于打开状态时,可以采用send()方法来发送消息;
document.getelementbyid("sendbtn").onclick = function() {
websocket.send(document.getelementbyid("inputmsg").value);
}
转载于:https://my.oschina.net/u/1251536/blog/404677
与50位技术专家面对面20年技术见证,附赠技术全景图总结
以上是凯发k8官方网为你收集整理的html5 websockets学习的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 使用node.js监听文件夹变化
- 下一篇: github使用心得