- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
java消息推送_java实现后台服务器消息推送
1.什么是WebSocket
WebSocket协议是基于TCP的⼀种新的⽹络协议。它实现了浏览器与服务器全双⼯(full-duplex)通信——允许服务器主动发送信息给客户
端。
2.实现原理
在实现websocket连线过程中,需要通过浏览器发出websocket连线请求,然后服务器发出回应,这个过程通常称为“握⼿” 。在
WebSocket API,浏览器和服务器只需要做⼀个握⼿的动作,然后,浏览器和服务器之间就形成了⼀条快速通道。两者之间就直接可以数
据互相传送。
3.优点
在以前的消息推送机制中,⽤的都是 Ajax 轮询(polling),在特定的时间间隔由浏览器⾃动发出请求,将服务器的消息主动的拉回来,这种
⽅式是⾮常消耗资源的,因为它本质还是http请求,⽽且显得⾮常笨拙。⽽WebSocket 在浏览器和服务器完成⼀个握⼿的动作,在建⽴连
接之后,服务器可以主动传送数据给客户端,客户端也可以随时向服务器发送数据。
4.WebSocket和Socket的区别
1.WebSocket:
1. websocket通讯的建⽴阶段是依赖于http协议的。最初的握⼿阶段是http协议,握⼿完成后就切换到websocket协议,并完全与http
协议脱离了。
2. 建⽴通讯时,也是由客户端主动发起连接请求,服务端被动监听。
3. 通讯⼀旦建⽴连接后,通讯就是“全双⼯”模式了。也就是说服务端和客户端都能在任何时间⾃由得发送数据,⾮常适合服务端要主
动推送实时数据的业务场景。
4. 交互模式不再是“请求-应答”模式,完全由开发者⾃⾏设计通讯协议。
5. 通信的数据是基于“帧(frame)”的,可以传输⽂本数据,也可以直接传输⼆进制数据,效率⾼。当然,开发者也就要考虑封包、拆
包、编号等技术细节。
2.Socket:
1. 服务端监听通讯,被动提供服务 ;客户端主动向服务端发起连接请求,建⽴起通讯。
2. 每⼀次交互都是 :客户端主动发起请求(request),服务端被动应答(response)。
3. 服务端不能主动向客户端推送数据。
4. 通信的数据是基于⽂本格式的。⼆进制数据(⽐如图⽚等)要利⽤base64等⼿段转换为⽂本后才能传输。
5.WebSocket客户端:
var websocket = null;
var host = document.location.host;
//关闭WebSocket连接
function closeWebSocket() {
websocket.close();
}
//将消息显⽰在⽹页上
function setMessageInnerHTML(innerHTML) {
document.getElementById(message).innerHTML += innerHTML +
;
}
6.WebSocket服务端(java后台):
1.核⼼类:
package com.mes.util;
import java.io.IOException;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import javax.websocket.OnClose;
import javax.websocket.OnError;
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
import javax.websocket.Session;
import javax.websocket.server.PathParam;
import javax.websocket.server.ServerEndpoint;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
import com.google.gson.JsonObject;
import net.sf.json.JSONObject;import net.sf.json.JSONObject;
public class WebSocket {
private static int onlineCount = 0;
private static Map clients = new
您可能关注的文档
- 领导干部的压力应对和情绪管理5809.pdf
- 个人职业生涯规划7816.pdf
- 第十五章分式单元教材分析教学设计-2021-2022学年人教版八年级数学上册.pdf
- 生物遗传和变异单元备课.pdf
- 标准振动试验介绍.pdf
- 董洪亮:情境教育理论的现实意义和未来走向.pdf
- “三标一体化管理体系”在护理管理中的应用.pdf
- 企业财务风险的控制及防范.pdf
- 树脂材料简介.pdf
- 新品发布会策划方案2457.pdf
- 2025-2026学年湖南省高三上学期阶段性检测(二)英语试卷含详解.docx
- 2025-2026学年北京市中国人民大学附属中学高一上学期第一次月考数学试卷含详解.docx
- 2025-2026学年江苏省南京市中华中学高二上学期9月月考政治试题含答案.docx
- 2025-2026学年天津市第一中学高三上学期第一次月考政治试卷含详解.docx
- 2025-2026学年福建省莆田第一中学高三上学期9月月考历史试卷含详解.docx
- 2025-2026学年江苏省南京市中华中学高二上学期9月月考政治试卷含详解.docx
- 【课件】工业动火作业安全管理标准培训.pptx
- 多模态背景色交互机制-洞察与解读.docx
- 洞穴物种适应机制-洞察与解读.docx
- 油气输送风险预警-洞察与解读.docx
最近下载
- 人教版劳动教育一年级上册全册课件.pptx
- 购房补贴申请承诺书.docx VIP
- 机修工岗位职责及技能要求.doc VIP
- 电驱行业现状分析.pptx VIP
- 中国血脂管理指南(基层版2024年).pptx VIP
- 2024人教版八年级英语上册Unit 4 Amazing Plants and Animals 教案.pdf VIP
- Promega 普罗麦格 3D培养模型检测解决方案 说明书.pdf
- 2025年秋新人教版三年级上册数学全册课件.pptx
- 小学三年级上册体育教案精华版备考资料.doc VIP
- Unit 2 Travelling around Reading and Thinking 导学案--高中英语人教版(2019)必修第一册.docx VIP
文档评论(0)