WebSocket

未知
JavaScript
跨平台
2010-06-02
红薯

WebSocket是HTML5开始提供的一种浏览器与服务器间进行全双工通讯的网络技术。 WebSocket通信协议于2011年被IETF定为标准 RFC 6455,WebSocketAPI 被 W3C 定为标准。

在 WebSocket API 中,浏览器和服务器只需要要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。

现在,很多网站为了实现即时通讯(real-time),所用的技术都是轮询(polling)。轮询是在特定的的时间间隔(time interval)(如每1秒),由浏览器对服务器发出HTTP request,然后由服务器返回最新的数据给客服端的浏览器。这种传统的HTTP request d的模式带来很明显的缺点 – 浏览器需要不断的向服务器发出请求(request),然而HTTP request 的header是非常长的,里面包含的数据可能只是一个很小的值,这样会占用很多的带宽。

而最比较新的技术去做轮询的效果是Comet – 用了AJAX。但这种技术虽然可达到全双工通信,但依然需要发出请求(reuqest)。

在 WebSocket API,浏览器和服务器只需要要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。在此WebSocket 协议中,为我们实现即使服务带来了两大好处:

1. Header

互相沟通的Header是很小的-大概只有 2 Bytes

2. Server Push

服务器可以主动传送数据给客户端

加载中

评论(5)

lucasli
lucasli
终于过5点了 WebSocket
王振威
王振威
Nginx没法代理WebSocket
MuskIron
MuskIron
5年过去了,现在Nginx可以代理ws/wss了
tsl0922
tsl0922
尼玛,WebSocket + Protocol Buffers,真先进,终于可以拿到数据并解析出来了13
m
maolangong
如果你想从服务器端推送消息到客户端的话,你可以使用一下GoEasy推送,它有Restful API 支持多语言,而且针对java他们还特别做了SDK,使用很简单方便。同时它也支持客户端推送。由于它支持websocket 和polling两种连接方式所以兼顾大多数主流浏览器,低版本的IE浏览器也是支持的,个人觉得很不错 #WebSocket#

WebSocket Java API 工作启动,将添加到Java EE 7

在今年 2 月份,甲骨文公司申请了 JSR 356 规范,近日,其在官方博客中宣布,已经开始了该规范的相关工作。 JSR 356 是一组用于实现 WebSocket 的标准 Java API,提供了一系列用来帮助开发者...

2012/04/19 12:35

Websocket 协议驱动互联网

HTTP协议原本是设计用于传输简单的文档和文件,而非实时的交互。 根据HTTP协议,一个客户端如浏览器,向服务器打开一个连接,发出请求,等待回应,之后关闭连接。如果客户端需要更多数据,则...

2011/03/28 15:46

WebKit/Chromium的WebSocket协议升级

编者:Web 越来越强,有逐步取代桌面应用的趋势啊~~ WebSocket 是适用于 Web 应用的下一代全双工通讯协议,被称之为 web 中的 TCP,并且已经成为 Web 应用草案1.0的一部分。由于使用了 Aj...

2010/06/03 11:41

没有更多内容

加载失败,请刷新页面

没有更多内容

5
回答
Netty如何做负载均衡(集群)架构

背景: 通过SpringBoot + Netty搭建应用作为IM服务,SpringBoot提供IM业务接口,启动SpringBoot的时候另外起一条线程启...

06/21 21:32
1
回答
Websocket协议也是长连接吗?都是占用连接,那这样和http长连接有什么区别?

目前在考虑web端的即时通信方面,页面上的消息提醒目前无非就是ajax轮询,http长连接,以及websocket(可能还有其他更好的技术实现) 一:普通...

07/04 14:58
5
回答
基于spring注解方式的websocket,本地可以通讯,部署到服务器就无法建立连接?

之前基于tomcat的websocket ,同样也是本地可以正常通讯,部署到服务器就无法建立连接,替换成基于spring注解方式的依然不行。 出现这种情况...

07/03 14:31
2
回答
django使用dwebsocket报错400

开发语言:python 框架:Django 问题:用户非正常退出系统(关闭浏览器或网页)使用轮询比较好还是websocket好呢?本系统并发量较高,急求解...

06/12 17:27
1
回答
django使用websocket报错failed: Error during WebSocket handshake: Unexpected response code: 200

语言+框架:python,Django 使用websocket报错,failed: Error during WebSocket handshake: U...

06/13 09:29
4
回答
如何用Java实现直播间聊天室?

我看了很多都是使用WebSocket,但是这个方法只能产生一个聊天室,而对于一个直播网站,应该会有很多个聊天室,请问这个需求应该怎样解决? 个人想法是,通...

04/29 22:00
2
回答
使用tomcat中的websocket的demo在谷歌浏览器能正常连接,IE浏览器上却不行

使用tomcat中的websocket的demo在谷歌浏览器能正常连接,IE浏览器上却不行. 有网页说明IE不支持websocket, 如果要支持就要另外...

04/29 18:16
1
回答
不为人知的网络编程(八):从数据传输层深度解密HTTP

1、引言 在文章《理论联系实际:Wireshark抓包分析TCP 3次握手、4次挥手过程》中,我们学会了用wireshark来分析TCP的“三次握手,四次...

04/13 11:27
3
回答
可以把密码信息放在websocket的URL中么

在用django做一个webssh通信,需要把用户名密码这些信息传过去,我现在只知道用websocket的url传,比如ws://127.0.0.1:80...

04/12 14:49

没有更多内容

加载失败,请刷新页面

WebSocket原理

今天来讲一下WebSocket的原理,能让你更深入的去了解WebSocket,深知其原理,才能更好的去使用它。 WebSocket是HTML5出的协议,也就是说HTTP协议没有变化,或者说没关系,但HTTP是不支持持久...

2018/07/26 10:36
25
0
实时通信技术之websocket

本文章即从4个方面带大家了解websocket: websocket是什么? 为什么需要 WebSocket ? websocket的优点与缺点? websocket的相关使用(客户端与服务器端)? websocket的相关协议与规范? 一...

2018/11/03 15:46
255
0
Spray.io搭建Rest — 支持WebSocket

本系列是对Spray.io的一个使用尝试,学习过程的一个分享。Spray 是一个开源的 REST/HTTP 工具包和底层网络 IO 包,基于 Scala 和 Akka 构建。轻量级、异步、非堵塞、基于 actor 模式、模块化...

2014/04/30 16:32
1K
0
Cocos2d-x v3.x 官方文档]C++版如何使用WebSocket

博文摘自http://www.tairan.com/archives/6592,本人只需要C++部分的内容,所以提取出来,方便阅读。

2014/07/14 09:16
174
0
好程序员web前端分享WebSocket协议

好程序员web前端分享WebSocket协议,WebSocket协议简介 WebSocket协议简介 WebSocket是html5规范新引入的功能,用于解决浏览器与后台服务器双向通讯的问题,使用WebSocket技术,后台可以随时...

05/30 15:30
7
0
SpringBoot 使用WebSocket打造在线聊天室(基于注解)

推荐WebSocket的三大理由: 1、采用全双工通信,摆脱传统HTTP轮询的窘境。 2、采用W3C国际标准,完美支持HTML5。 3、简单高效,容易上手。 学习目标 快速学会通过WebSocket编写简单聊天功能。...

06/01 19:38
2
0
侃一侃WebSocket

今天不讲太多具体的技术,随便侃一侃WebSocket,想到哪说哪。 和comet相比 相比comet技术,websocket不仅节约了header的问题(websocket的head信息只有短短的2个字节)。更加重要的是是通信的...

2018/08/15 10:53
2
0
基于Tomcat运行HTML5 WebSocket echo实例详解

  作为HTML5新特性之一的WebSocket组件,在实时性有一定要求的WEB应用开 发中还是有一定用武之地,高版本的IE、Chrome、FF浏览器都支持Websocket,标准的Websocket通信是基于RFC6455实现服...

2015/11/20 18:51
57
0
Jmeter对基于websocket协议的压力测试

近期项目需要对基于websocket的协议进行压力测试。作为小白的我,听到这样的消息,首先先去了解这个协议,然后确定使用的工具。 一、websocket协议介绍 先简单介绍一下这个协议。 首先,Web...

2018/05/07 17:28
62
0
WebSocket基础

注释 之前的时候, 对HTTP中的Connection: Keep-alive是长连接, 和websocket的长连接有什么根本上的差异不太理解, 现在从应用层面上对两者进行分析, 首先HTTP有1.1和1.0之说,也就是所谓的kee...

06/19 12:45
4
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部