资讯专栏INFORMATION COLUMN

WebSocket

array_huang / 2621人阅读

摘要:服务器和客户端可以在给定的时间范围内的任意时刻,相互推送信息。指定连接成功后的回调函数用于向服务器发送数据或者指定收到服务器数据后的回调函数指定连接关闭后的回调函数指定报错时的回调函数关闭

1、websocket 是什么?
解决客户端与服务端实时通信而产生的技术。
先通过HTTP/HTTPS协议进行握手后创建一个用于交换数据的TCP连接,然后服务端与客户端通过此TCP连接进行实时通信。
服务器和客户端可以在给定的时间范围内的任意时刻,相互推送信息。
以前我们实现推送技术,用的都是轮询,在特定时间间隔由浏览器自动发出请求,主动拉取服务器消息。需要不断的向服务器发送请求,会占用大量的带宽和服务器资源。

2、使用websocket
在支持WebSocket的浏览器中,在创建socket之后。可以通过onopen,onmessage,onclose、onerror四个事件实现对socket进行响应

只读属性 readyState 表示连接状态,可以是以下值:
    0 - 表示连接尚未建立。
    1 - 表示连接已建立,可以进行通信。
    2 - 表示连接正在进行关闭。
    3 - 表示连接已经关闭或者连接不能打开。
    
// window.WebSocket "WebSocket" in window 检测浏览器是否支持 WebSocket
var ws = new WebSocket(“ws://localhost:8080”);
// 申请一个WebSocket对象,参数是需要连接的服务器端的地址
// 同http协议使用http://开头一样,WebSocket协议的URL使用ws://开头
// 另外安全的WebSocket协议使用wss://开头。

// 指定连接成功后的回调函数
ws.onopen = function() {  
  console.log(“open”);
  ws.send(“hello”);
  // 用于向服务器发送数据
};
// 或者
ws.addEventListener("open", function (event) {
  ws.send("Hello Server!");
});
// 指定收到服务器数据后的回调函数
ws.onmessage = function(evt) {
  console.log(evt.data)
};
// 指定连接关闭后的回调函数
ws.onclose = function(evt) {
  console.log(“WebSocketClosed!”);
};
// 指定报错时的回调函数
ws.onerror = function(evt) {
  console.log(“WebSocketError!”);
};
// 关闭websocket
websocket.close();

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/103307.html

相关文章

  • 八问WebSocket协议:为你快速解答WebSocket热门疑问

    一、引言 WebSocket是一种比较新的协议,它是伴随着html5规范而生的,虽然还比较年轻,但大多主流浏览器都已经支持。它使用方面、应用广泛,已经渗透到前后端开发的各种场景中。 对http一问一答中二式流程(就是从所周之的长轮询技要啦)的不满,催生了支持双向通信的WebSocket诞生。WebSocket是个不太干净协议。 本文将从8个常见的疑问入手,为还不了解WebSocket协议的开发者快...

    Zoom 评论0 收藏0
  • WebSocket系列之基础知识入门篇

    摘要:概述本文是系列的第一篇,主要介绍相关的基础协议知识和。客户端收到响应后,立即发起下一次的请求。收到消息通过事件来接收消息。类型则需要传递一个对象作为参数,相关的内容也将在本系列第二篇中进行介绍。 概述 本文是WebSocket系列的第一篇,主要介绍WebSocket相关的基础协议知识和API。由于WebSocket的相关介绍在MDN中分布较乱,初学者不太容易入门,因此通过本文将相关基础...

    Yuqi 评论0 收藏0
  • WebSocket其实没那么难

    摘要:服务端确认协议版本,升级为协议。自己写了一个例子,服务端在开始连接后,利用定时器主动向客户端发送随机数,客户端也可以发给服务器消息,然后服务器返回这条消息给客户端。 写在前面 webSocket是一项可以让服务器将数据主动推送给客户端的技术。前几天写了一个日志功能,日志数据需要实时更新。正好项目中有封装好的WebSocket组件,且接口支持webSocket,就用它实现了。也是第一次用...

    CoderDock 评论0 收藏0
  • WebSocket就这么回事儿

    摘要:服务端确认协议版本,升级为协议。自己写了一个例子,服务端在开始连接后,利用定时器主动向客户端发送随机数,客户端也可以发给服务器消息,然后服务器返回这条消息给客户端。做的事情就是给页面的元素绑定事件。 写在前面webSocket是一项可以让服务器将数据主动推送给客户端的技术。前几天写了一个日志功能,日志数据需要实时更新。正好项目中有封装好的WebSocket组件,且接口支持webSock...

    ruicbAndroid 评论0 收藏0
  • 【译】 WebSocket 协议第十一章——IANA 注意事项(IANA Consideration

    摘要:概述本文为协议的第十一章,本文翻译的主要内容为的相关注意事项。应用协议使用这个协议规范互操作性注意事项使用时需要使用或者更高版本的协议。安全性注意事项见安全性注意事项一节。 概述 本文为 WebSocket 协议的第十一章,本文翻译的主要内容为 WebSocket 的 IANA 相关注意事项。 IANA 注意事项(协议正文) 11.1 注册新 URI 协议 11.1.1 注册 ws 协...

    amc 评论0 收藏0
  • Python:Tornado 第三章:HTML5 WebSocket概念及应用:第一节:WebSoc

    摘要:上一篇文章第二章实战演练开发网站第九节防止跨站攻击下一篇文章第三章概念及应用第二节服务端编程的异步特性使得其非常适合服务器的高并发处理,客户端与服务器的持久连接应用框架就是高并发的典型应用。因为是的标准协议,所以不受企业防火墙的拦截。 上一篇文章:Python:Tornado 第二章:实战演练:开发Tornado网站:第九节:防止跨站攻击下一篇文章:Python:Tornado 第三章...

    mo0n1andin 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<