websocket

1.websocket之前有三种双向通信的方式

轮询:轮询是客户端和服务器之间会一直进行连接,每隔一段时间就询问一次

长轮询

iframe流

2.websocket原理:

计算机网络应用层的协议,用来弥补http协议在持久通信能力上的不足。与http协议一样,WebSocket协议也需要通过已建立的TCP连接来传输数据。具体实现上是通过http协议建立通道,然后在此基础上用真正的WebSocket协议进行通信,所以WebSocket协议和http协议是有一定的交叉关系的。

优点:

· WebSocket协议一旦建议后,互相沟通所消耗的请求头是很小的

· 服务器可以向客户端推送消息了

缺点:

· 少部分浏览器不支持,浏览器支持的程度与方式有区别

websocket构造函数:

var  ws=new WebSocket('ws://localhost:8080');

readyState属性返回实例对象的四种状态:

        connecting:值为0表示正在连接

        open:值为1表示连接成功

        closing:值为2表示连接正在关闭

        closed:值为3表示连接已经关闭或者打开连接失败

websocet.onopen用于指定连接成功后的回调函数,如果指定多个回调函数使用addEventListener方法

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

websocket.onmessage用于指定收到服务器数据后的回调函数

websocket.send()用于向服务器发送数据

webSocket.bufferedAmount表示还有多少字节没有发送出去,可以用来判断发送是否结束

websocket.onerror用于指定报错时的回调函数

3.websocket聊天室如果发送失败了,你怎么解决这个问题?如何做到发送图片? 有了文字、图片等不同的数据类型之后,你如何实现数据的存储,如何设计,前端如何获取?

(2)websocket聊天室有输入框,那么怎么获取的,对于使用div来模仿textarea,我说使用正则去掉div,那么用户输入的也是div呢?   如果发送失败了呢?  究竟应该是先发送,还是应该先存储到redux中,考虑用户体验(仿照微信)。

(3)websocket的使用,底层是如何处理的。(类似于xhr的。)、

(4)websocket在连接的过程中, 会有新包。。balabala 一堆听不懂的词,非常尴尬,,, 我就直接说的不会。

(5)websocket是如何实现服务器端推送的

(6)websocket和http的区别是什么?websocket的优点是什么?

(7)为什么使用websocket? websocket是怎么连接的,一定需要通过http协议吗? 短轮询、commet、长轮训都介绍一下。各有什么优缺点。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • WebSocket简介 谈到Web实时推送,就不得不说WebSocket。在WebSocket出现之前,很多网站为...
    吧啦啦小汤圆阅读 8,181评论 15 75
  • 什么是WebSocket呢? WebSocket是HTML5新增的一种通信协议,目标主流的浏览器都支持这个协议,比...
    JunChow520阅读 7,406评论 1 5
  • 原文地址:http://www.ibm.com/developerworks/cn/java/j-lo-WebSo...
    敢梦敢当阅读 8,931评论 0 50
  • WebSocket 机制 WebSocket 是 HTML5 一种新的协议。它实现了浏览器与服务器全双工通信,能更...
    勇敢的_心_阅读 2,287评论 0 4
  • 2013年9月15日,我正式分手了,而这一天恰好是我的阳历生日。 说是正式分手,不如说摆脱了那段感情更合适。张荐说...
    郭落落阅读 327评论 0 1