WebSocket 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
WebSocket 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
WebSocket 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 未知
操作系统 跨平台
软件类型 开源软件
开源组织
地区 不详
投 递 者 红薯
适用人群 未知
收录时间 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
回复
举报
该评论暂时无法显示,详情咨询 QQ 群:912889742
如果你想从服务器端推送消息到客户端的话,你可以使用一下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 应用服务器)已经通过在服务器端和客户端中使用 Grizzly 来支持 WebSocket,JSR 356 有助于将这一实现规范化,以便更...

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

Websocket 协议驱动互联网

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

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

WebKit/Chromium的WebSocket协议升级

编者:Web 越来越强,有逐步取代桌面应用的趋势啊~~ WebSocket 是适用于 Web 应用的下一代全双工通讯协议,被称之为 web 中的 TCP,并且已经成为 Web 应用草案1.0的一部分。由于使用了 Ajax 技术,所以 WebSocket 协议比传统的 HTTP 协议效率更高,也就更适合实时以及动态的 web 应用。此外 WebSocket 还提供了一个非常简单的可以使浏览器以及服务器双向通讯的 API,开发类似的 web 应用异常轻松。 Google 最早在 WebKit 和 ...

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

【WebSocket】WebSocket介绍

1.背景 WebSocket和http协议一样是应用层的协议,都是基于tcp的。在WebSocket出现之前客户端向服务器发出请求是通过http协议实现的,而http协议有个特点是通行请求只能由客户端发起,然后服务端响应查询结果,HTTP 协议没法让服务器主动向客户端推送信息。这样如果服务器有连续的状态变化,比如新消息,客户端要获知就非常麻烦,只能通过轮询,长轮询的方式,但是这样的效率很低,消耗了不必要的服务器资源(因为必须不停发送h...

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

【WebSocket】WebSocket快速入门

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

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

WebSocket(1)---WebSocket介绍

WebSocket介绍 一、为什么需要 WebSocket? 初次接触 WebSocket 的人,都会问同样的问题:我们已经有了 HTTP 协议,为什么还需要另一个协议?它能带来什么好处? 答案很简单,因为 HTTP 协议有一个缺陷:通信只能由客户端发起。 举例来说,我们想了解今天的天气,只能是客户端向服务器发出请求,服务器返回查询结果。HTTP 协议做不到服务器主动向客户端推送信息。 这种单向请求的特点,注定了如果服务器有连续的状态变化,客户端...

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

WebSocket 学习之认识websocket

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

0
0
发表了博客
2018/09/03 16:28

WebSocket

https://blog.csdn.net/jintingbo/article/details/80864030 https://blog.csdn.net/jkxqj/article/details/77848466 WebSocket 是什么? WebSocket 是为解决客户端与服务端实时通信而产生的技术。其本质是先通过HTTP/HTTPS协议进行握手后创建一个用于交换数据的TCP连接, 此后服务端与客户端通过此TCP连接进行实时通信。 websocket的优点 WebSocket API最伟大之处在于服务器和客户端可以在给定的时间范围内的任意时刻,相互推送...

0
0
发表了博客
2019/11/30 23:10

WebSocket

一 . WebSocket原理   1.1.背景 WebSocket 是基于Http 协议的改进,Http 为无状态协议,基于短连接,需要频繁的发起请求,第二 Http 只能客户端发起请求,服务端无法主动请求。   1.2.相同点 1.都是基于TCP的应用层协议。 2.都使用Request/Response模型进行连接的建立。 3.在连接的建立过程中对错误的处理方式相同,在这个阶段WS可能返回和HTTP相同的返回码。 4.都可以在网络中传输数据。   1.3.不同点 1.WS使用HTTP来建...

0
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.GeneratedMethodAccessor760.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces...

4
0
发表了问答
2016/08/03 16:28

WebSocket协议中的ServerEndPoint生命周期的问题?

WebSocket协议中的ServerEndpoint,是为每一个客户端都new一个 ServerEndpoint,还是说整个项目中来自任何客户端的websocket请求都只有一个ServerEndpoint处理呢?

1
0
发表于AI & 大数据专区
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之间发送文本信息(聊天内容,Hello World),A服务端无法转发到B服务端...因为他们的Channel没有共享... 那么通过什么方式可以使应用...

9
0
发表于软件架构专区
2019/12/12 11:47

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

需求描述:① 整个区域有近200个数据监测点,每个监测点配置摄像头监控,有近200路视频,预想方案是采用海康网络摄像头,专网传输,使用海康NVR或CVR存储视频。② 软件开发B/S结构,浏览端GIS图显示站点分布,通过点击站点,弹出实时监测数据和视频播放,并且能实现视频回放功能,并能根据选择组合多个站点,拉取多个站点视频同时在HTML5端预览,同时预览视频一般不超过10个。 问题:因为专网,自建机房,不考虑萤石云或其他云服...

3
0
发表于开发技能专区
2020/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种方式有什么区别...

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

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

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

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

websocket 服务端主动推送

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

6
1
2020/05/28 20:02

websocket与springcloud集成问题

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

2
0
2020/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> webSocketMap = new ConcurrentHashMap<>(); @OnOpen public void onOpen(Session session, @PathPara...

7
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%93%E5%AD%98%E5%8F%8Awebsocket/ 6.websocket,jfinal使用websocket需要避免jfinalFilter过滤websocket路径 ...

6
1
发表于大前端专区
2020/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上之后,就一直无法建立连接: 报错:Firefox 无法建立到 “ws://地址:端口/add/140/_isblal5/websocket” 服务器的连接。 [HTTP/1.1 ...

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.apache.tomcat.websocket.pojo.PojoEndpointBase onClose SEVERE: Failed to call onClose method of POJO en...

5
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
发表于服务端专区
2019/07/03 14:31

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

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

20
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
5 评论
297 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部