博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WebSocket(1)-- WebSocket API简介
阅读量:4071 次
发布时间:2019-05-25

本文共 1135 字,大约阅读时间需要 3 分钟。

WebSocket是html5新增加的一种通信协议,目前流行的浏览器都支持这个协议,例如Chrome,Safari,Firefox,Opera,IE等等,对该协议支持最早的应该是chrome,从chrome12就已经开始支持,随着协议草案的不断变化,各个浏览器对协议的实现也在不停的更新。该协议还是草案,没有成为标准,不过成为标准应该只是时间问题了,从WebSocket草案的提出到现在已经有十几个版本了,目前最新的是版本17,所对应的协议版本号为13,目前对该协议支持最完善的浏览器应该是chrome,毕竟WebSocket协议草案也是Google发布的。

1.     WebSocket API简介

首先看一段简单的javascript代码,该代码调用了WebSockets的API。

[javascript] 
  1. var ws = new WebSocket(“ws://echo.websocket.org”);  
  2.   
  3. ws.onopen = function(){ws.send(“Test!”); };  
  4.   
  5. ws.onmessage = function(evt){console.log(evt.data);ws.close();};  
  6.   
  7. ws.onclose = function(evt){console.log(“WebSocketClosed!”);};  
  8.   
  9. ws.onerror = function(evt){console.log(“WebSocketError!”);};  

这份代码总共只有5行,现在简单概述一下这5行代码的意义。

第一行代码是在申请一个WebSocket对象,参数是需要连接的服务器端的地址,同http协议使用http://开头一样,WebSocket协议的URL使用ws://开头,另外安全的WebSocket协议使用wss://开头。

第二行到第五行为WebSocket对象注册消息的处理函数,WebSocket对象一共支持四个消息 onopen, onmessage, onclose和onerror,当Browser和WebSocketServer连接成功后,会触发onopen消息;如果连接失败,发送、接收数据失败或者处理数据出现错误,browser会触发onerror消息;当Browser接收到WebSocketServer发送过来的数据时,就会触发onmessage消息,参数evt中包含server传输过来的数据;当Browser接收到WebSocketServer端发送的关闭连接请求时,就会触发onclose消息。我们可以看出所有的操作都是采用消息的方式触发的,这样就不会阻塞UI,使得UI有更快的响应时间,得到更好的用户体验。

转载地址:http://pxrji.baihongyu.com/

你可能感兴趣的文章
【JAVA数据结构】双向链表
查看>>
【JAVA数据结构】先进先出队列
查看>>
String类的intern方法随笔
查看>>
【泛型】一个简易的对象间转换的工具类(DO转VO)
查看>>
【并发编程】concurrent包的Condition使用详解
查看>>
【并发编程】ReentrantLock使用介绍
查看>>
【GC算法】jvm垃圾收集算法详解
查看>>
【设计模式】建造者模式详解
查看>>
【设计模式】代理模式
查看>>
【设计模式】动态代理模式
查看>>
【并发编程】当我们谈论线程安全时我们在谈论什么
查看>>
【漫谈】跨库事务控制方案
查看>>
【设计模式】策略模式
查看>>
【Spring源码解读】BeanFactory和FactoryBean区别及类装载源码解读
查看>>
【设计模式】责任链模式
查看>>
【Spring源码】AOP部分源码解读
查看>>
【设计模式】状态模式
查看>>
发奖控制数量的几种方式(锁,数据库锁,分布式锁,无锁)
查看>>
你的单例真的写对了吗?能经受住反射的考验吗
查看>>
mac nginx php
查看>>