WebSocket 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
WebSocket 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
授权协议 未知
操作系统 跨平台
软件类型 开源软件
开发厂商
地区 不详
提 交 者 红薯
适用人群 未知
收录时间 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

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

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (5)

加载中
终于过5点了 WebSocket
2012/12/04 17:12
回复
举报
Nginx没法代理WebSocket
2013/02/05 16:22
回复
举报
5年过去了,现在Nginx可以代理ws/wss了
2019/07/05 13:29
回复
举报
尼玛,WebSocket + Protocol Buffers,真先进,终于可以拿到数据并解析出来了13
2013/12/13 16:36
回复
举报
如果你想从服务器端推送消息到客户端的话,你可以使用一下GoEasy推送,它有Restful API 支持多语言,而且针对java他们还特别做了SDK,使用很简单方便。同时它也支持客户端推送。由于它支持websocket 和polling两种连接方式所以兼顾大多数主流浏览器,低版本的IE浏览器也是支持的,个人觉得很不错 #WebSocket#
2016/07/27 15:10
回复
举报
更多评论
发表了资讯
2012/04/19 00:00

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

在今年 2 月份,甲骨文公司申请了 JSR 356 规范,近日,其在官方博客中宣布,已经开始了该规范的相关工作。 JSR 356 是一组用于实现 WebSocket 的标准 Java API,提供了一系列用来帮助开发者编写 WebSocket 应用程序的标准代码。该规范将作为明年第 2 季度发布的 Java EE 7 的一部分。 目前,GlassFish(JavaEE 应用服务...

6
7
发表了资讯
2011/03/28 00:00

Websocket 协议驱动互联网

HTTP协议原本是设计用于传输简单的文档和文件,而非实时的交互。 根据HTTP协议,一个客户端如浏览器,向服务器打开一个连接,发出请求,等待回应,之后关闭连接。如果客户端需要更多数据,则需要打开一个新连 接,以此循环往复。如果服务器有了新的信息,它必须等待客户端发出请求而不是立即发送消息。这种方式使得秒级的...

7
7
发表了资讯
2010/06/03 00:00

WebKit/Chromium的WebSocket协议升级

编者:Web 越来越强,有逐步取代桌面应用的趋势啊~~ WebSocket 是适用于 Web 应用的下一代全双工通讯协议,被称之为 web 中的 TCP,并且已经成为 Web 应用草案1.0的一部分。由于使用了 Ajax 技术,所以 WebSocket 协议比传统的 HTTP 协议效率更高,也就更适合实时以及动态的 web 应用。此外 WebSocket 还提供了一个非常...

0
2
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
2019/02/21 01:31

【WebSocket】WebSocket介绍

1.背景 WebSocket和http协议一样是应用层的协议,都是基于tcp的。在WebSocket出现之前客户端向服务器发出请求是通过http协议实现的,而http协议有个特点是通行请求只能由客户端发起,然后服务端响应查询结果,HTTP 协议没法让服务器主动向客户端推送信息。这样如果服务器有连续的状态变化,比如新消息,客户端要获知就非...

0
0
发表了博客
2019/09/09 16:24

【WebSocket】WebSocket快速入门

WebSocket介绍   WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。   WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。  ...

0
3
发表了博客
2018/02/24 21:25

WebSocket(1)---WebSocket介绍

WebSocket介绍 一、为什么需要 WebSocket? 初次接触 WebSocket 的人,都会问同样的问题:我们已经有了 HTTP 协议,为什么还需要另一个协议?它能带来什么好处? 答案很简单,因为 HTTP 协议有一个缺陷:通信只能由客户端发起。 举例来说,我们想了解今天的天气,只能是客户端向服务器发出请求,服务器返回查询结果。HTT...

0
0
发表了博客
10/12 07:40

WebSocket 学习之认识websocket

一:背景介绍 近年来,随着HTML5的诞生,WebSocket协议被提出,它实现了浏览器与服务器的全双工通信,扩展了浏览器与服务端的通信功能,使服务端也能主动向客户端发送数据。 我们知道,传统的HTTP协议是无状态的,每次请求(request)都要由客户端(如 浏览器)主动发起,服务端进行处理后返回response结果,而服务端很难...

0
0
发表了博客
2019/04/15 22:49

websocket --- 05 . http与websocket

一.http协议 1.基于 TCP 协议 2.一次请求 一次响应 断开 3.客户端永远处于主动状态 4.服务器永远处于被动状态  5.Http无状态 - 在服务器不保存客户端的信息 6.服务器无法主动找到客户端 二.轮询,长轮询,长连接   1.轮询 客户端向服务器不断发起类似Http请求 服务器不断的响应客户端 举例: 带上你...

0
1
发表了博客
2019/04/24 17:55

WebSocket

1. websocket是什么 Websocket是html5提出的一个协议规范,参考rfc6455。 websocket约定了一个通信的规范,通过一个握手的机制,客户端(浏览器)和服务器(webserver)之间能建立一个类似tcp的连接,从而方便c-s之间的通信。在websocket出现之前,web交互一般是基于http协议的短连接或者长连接。 WebSocket是为解决客户...

0
0
发表了博客
2019/03/12 17:43

websocket

socket握手流程: 服务端: 自己写服务端 或有些web框架写好了服务端 step1 服务器开启socket 监听ip和端口 step3 允许连接 step5 服务端收到特殊值 对特殊值加密 用magic string='258EAFA5-E914-47DA-95CA-C5AB0DC85B11' 进行sha1加密 maginc string是固定值 ...

0
0
发表了博客
2018/03/20 16:53

WebSocket

Websocket是一个持久化的协议,相对于HTTP这种非持久的协议来说。 简单的举个例子吧,用目前应用比较广泛的PHP生命周期来解释。 HTTP的生命周期通过 Request 来界定,也就是一个 Request 一个 Response,那么在 HTTP1.0 中,这次HTTP请求就结束了。 在HTTP1.1中进行了改进,使得有一个keep-alive,也就是说,在一个HTTP连...

0
0
发表于服务端专区
2015/05/05 13:11

websocket

本博客所有记载均为私人记录,若有不对,欢迎指正

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表于网络技术专区
11/11 12:31

netty做webRTC 的一点疑问

公司打算做webRTC,场景是这样的,可能在规定时间内,有5000多人同时在线,然后1对N发起视频通话,方案确定使用webRTC来实现,首先要解决第一个问题,这么多人同时在线,最开始考虑websocket,但查询发现,websocket有连接数限制,等于要部署多个tomcat才行,这个方案就不考虑了,后面查询到netty,说是支持百万连接,那决...

7
0
发表于开发技能专区
11/02 11:27

java websocket这2种方式有什么区别

<dependency>     <groupId>org.springframework.boot</groupId>     <artifactId>spring-boot-starter-websocket</artifactId>   </dependency> <dependency>      <groupId>org.java-websocket</groupId>      <artifactId>Java-WebSocket</artifactId>      <version>1.5.1</version>     </dependency> 上面2种方...

1
0
发表了问答
2017/03/15 15:01

谁来帮俺解决一下,百度一上午了:Failed to call onClose method of POJO end point for POJO of type

三月 15, 2017 10:46:48 上午 org.apache.tomcat.websocket.pojo.PojoEndpointBase onClose 严重: Failed to call onClose method of POJO end point for POJO of type [com.zhixun.mobile.modules.dadu.socket.DaduFrontWebSocket] java.lang.reflect.InvocationTargetException at sun.reflect.GeneratedMethodAccesso...

3
0
发表了问答
2015/05/26 09:34

寻找web数据可视化的技术大牛

公司最近成立数据可视化专项(d3.js方向);让数据演绎更精彩的世界,欢迎各位前端大牛的加入。 此项目部分版式可开源,可共享; 你的付出会更有意义! 联系邮箱 comger@163.com

12
0
发表于软件架构专区
08/10 20:48

websocket服务端正常,客户端无故主动断开

这是我在 http://www.jsons.cn/websocket/ 测试的状态 这是在我们的前端页面测试的状态 状态码都是101,并且后端的session还是存在的,但是发送消息的时候显示这个socket已经关闭了,但是没有触发关闭事件,用http://www.jsons.cn/websocket/这个测试完全没问题,都能正常使用,但是一放到前端h5页就不行了。。。 服务器...

1
0
发表了问答
2015/06/18 18:03

websocket 服务端主动推送

初学websocket,正在尝试jetty9的websocket来开发。 发现网上的例子全是通过onOpen,onMessage来监听发送消息的,感觉上还是先请求再响应,并没有主动推送。有没有办法通过其他线程(比如quartz定时触发)主动发送消息的? 求指教

5
1
05/28 20:02

websocket与springcloud集成问题

各位大神,小弟开发时又遇到了个问题,我们要用websocket主动给vue推送消息,然后websocket连在了网关上,这样貌似就导致了如果后台的websocket节点起了多个,会和前端连接不上,这种情况该怎么解决

1
0
05/13 16:00

java使用springboot创建一个webSocket项目,服务端如何通知浏览器断开连接

最近在学习webSocket这一块内容。先是做了个简单的聊天室,然后就遇到问题了。 @ServerEndpoint("/hall/{nickName}") @Component public class Hall { //当前在线人数 private static int onlineCount = 0; //每个客户端对应的session private static ConcurrentHashMap<String,Session> webSock...

3
0
发表了问答
2016/12/19 09:21

jfinal + websocket 如何配置(已了解一半)?

如题: 本人配置多次,也按照网上的教程来,看了下,都配置不成功; 那个jfinal配置websocket ,连接开启失败; 测试一 (失败): 原文网址: http://www.codeweblog.com/jfinal-web-jfinal%E4%B8%8B%E7%9A%84%E5%9F%BA%E7%A1%80model%E5%AE%9E%E7%8E%B0%E4%BB%A5%E5%8F%8A%E6%95%B0%E6%8D%AE%E5%8E%8B%E7%BC%A9%E5%92%8C%E7%BC%9...

3
1
03/08 15:44

开源中国消息待办铃铛提醒做任务推送时用的是什么技术?

开源中国消息待办铃铛提醒做任务推送时用的是什么技术? 目前比较常规的解决方案是:接口轮询,websocket(原理还是长连接并且有连接数限制),http长连接。 再大并发量下以上这些都有缺点,请问下还有什么好的方案? 这个问题困扰了很久了。

1
1
发表了问答
2015/10/22 15:10

spring+websocket在本地局域网正常,部署到Linux上就连接不上了

最近才接触到 WebSocket,就照着网上的 demo 在本地使用 java实现了一个,主要使用 springmvc+spring4和tomcat 7来实现的。但是现在出现了一个很头疼的问题。我整个程序在本地(请求127.0.0.1)和局域网内都没有问题,可以正常建立连接并使用,但当我把程序部署到阿里云的Linux服务器的tomcat7上之后,就一直无法建立连接...

5
2
发表了问答
2017/01/12 20:23

websocket报错导致连接关闭

RT,websocket当并发连接过多时就容易报错: Websocket Connection Exception:java.lang.IllegalStateException: The remote endpoint was in state [TEXT_FULL_WRITING] which is an invalid state for called method Wepsocket Close Connection:userid_ocnBnw9i4CRxXLiFvNZEq0yNb7-8 Jan 12, 2017 3:14:54 PM org.ap...

2
0
发表于AI & 大数据专区
2019/12/12 11:47

求助关于HTML5在线预览摄像头以及实现回放功能的解决方案

需求描述:① 整个区域有近200个数据监测点,每个监测点配置摄像头监控,有近200路视频,预想方案是采用海康网络摄像头,专网传输,使用海康NVR或CVR存储视频。② 软件开发B/S结构,浏览端GIS图显示站点分布,通过点击站点,弹出实时监测数据和视频播放,并且能实现视频回放功能,并能根据选择组合多个站点,拉取多个站点...

1
0
发表于软件架构专区
2019/11/21 22:46

netty websocket通讯接收数据不完整问题

@梵高Sakalaka 你好,想跟你请教个问题: 请问您在【netty websocket通讯接收数据不完整问题!】这篇文章中遇到的websocket数据半包问题,是如何解决的?

2
0
发表于开发技能专区
2019/10/25 15:37

echarts 分时图上会带过来日k图里面的线条

出现的问题就是:首次先调用分时图是只要一条线没问题的,切到日线或其它图以后,再切换回分时图就出现了图三的情况,把MA5,MA15,MA30的线都带回来了... 我试了在调分时图的时候把MA*的数据都情况但是还是有那三条线... 问大佬们,啷个解决嘛

2
0
2018/05/03 22:30

spring websocket stomp 监听中能不能在服务端查看有哪些连接,并选择性关闭

大神求解: 最近因业务需求,想要做一个websocket的功能:后面有个业务需求是每个用户只能保持一个长连接,如果再次连接就把之前的连接给关闭。请问该如何实现? 谢谢~ 一枚小菜敬上

1
0
发表于AI & 大数据专区
2019/07/03 14:31

基于spring注解方式的websocket,本地可以通讯,部署到服务器就无法建立连接?

之前基于tomcat的websocket ,同样也是本地可以正常通讯,部署到服务器就无法建立连接,替换成基于spring注解方式的依然不行。 出现这种情况可能是因为什么问题造成的或者是否有端口限制?

6
0
发表于软件架构专区
2018/08/31 15:40

echarts使用websocket传输数据

echarts使用websocket传输数据,datazoom滑动K线图时接收到新数据,k线图立即回到时间轴的最右侧。请问如何保持滑动的位置而不受新数据的干扰?

3
0
2019/06/13 09:29

django使用websocket报错failed: Error during WebSocket handshake: Unexpected response code: 200

语言+框架:python,Django 使用websocket报错,failed: Error during WebSocket handshake: Unexpected response code: 200

2
0
发表于DevOps专区
2019/06/21 21:32

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

背景: 通过SpringBoot + Netty搭建应用作为IM服务,SpringBoot提供IM业务接口,启动SpringBoot的时候另外起一条线程启动Netty框架,作为WebSocket链接地址。 现在问题是: 例如A客户端跟www.im.xxx.com/ws创建WebSocket链接的时候,与A服务端进行长链接。B客户端跟B服务端进行长链接。 那么在A与B之间发送文本信息(聊天...

5
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
5 评论
296 收藏
分享
返回顶部
顶部