- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
HYPERLINK /xdp-gacl/p/5193279.html Java后端WebSocket的Tomcat实现 一.WebSocket简单介绍 随着互联网的发展,传统的HTTP协议已经很难满足Web应用日益复杂的需求了。近年来,随着HTML5的诞生,WebSocket协议被提出,它实现了浏览器与服务器的全双工通信,扩展了浏览器与服务端的通信功能,使服务端也能主动向客户端发送数据。 我们知道,传统的HTTP协议是无状态的,每次请求(request)都要由客户端(如 浏览器)主动发起,服务端进行处理后返回response结果,而服务端很难主动向客户端发送数据;这种客户端是主动方,服务端是被动方的传统Web模式 对于信息变化不频繁的Web应用来说造成的麻烦较小,而对于涉及实时信息的Web应用却带来了很大的不便,如带有即时通信、实时数据、订阅推送等功能的应 用。在WebSocket规范提出之前,开发人员若要实现这些实时性较强的功能,经常会使用折衷的解决方法:轮询(polling)和Comet技术。其实后者本质上也是一种轮询,只不过有所改进。 轮询是最原始的实现实时Web应用的解决方案。轮询技术要求客户端以设定的时间间隔周期性地向服务端发送请求,频繁地查询是否有新的数据改动。明显地,这种方法会导致过多不必要的请求,浪费流量和服务器资源。 Comet技术又可以分为长轮询和流技术。长轮询改进了上述的轮询技术,减小了无用的请求。它会为某些数据设定过期时间,当数据过期后才会向服务端发送请求;这种机制适合数据的改动不是特别频繁的情况。流技术通常是指客户端使用一个隐藏的窗口与服务端建立一个HTTP长连接,服务端会不断更新连接状态以保持HTTP长连接存活;这样的话,服务端就可以通过这条长连接主动将数据发送给客户端;流技术在大并发环境下,可能会考验到服务端的性能。 这两种技术都是基于请求-应答模式,都不算是真正意义上的实时技术;它们的每一次请求、应答,都浪费了一定流量在相同的头部信息上,并且开发复杂度也较大。 伴随着HTML5推出的WebSocket,真正实现了Web的实时通信,使B/S模式具备了C/S模式的实时通信能力。WebSocket的工作流程是这 样的:浏览器通过JavaScript向服务端发出建立WebSocket连接的请求,在WebSocket连接建立成功后,客户端和服务端就可以通过 TCP连接传输数据。因为WebSocket连接本质上是TCP连接,不需要每次传输都带上重复的头部数据,所以它的数据传输量比轮询和Comet技术小 了很多。本文不详细地介绍WebSocket规范,主要介绍下WebSocket在Java Web中的实现。 JavaEE 7中出了JSR-356:Java API for WebSocket规范。不少Web容器,如Tomcat,Nginx,Jetty等都支持WebSocket。Tomcat从7.0.27开始支持 WebSocket,从7.0.47开始支持JSR-356,下面的Demo代码也是需要部署在Tomcat7.0.47以上的版本才能运行。 二.WebSocket示例 2.1.新建JavaWeb测试项目 在pom.xml中添加Jar包依赖 1 dependency 2 groupIdjavax/groupId 3 artifactIdjavaee-api/artifactId 4 version7.0/version 5 scopeprovided/scope 6 /dependency 客户端(Web主页)代码: 1 %@ page language=java pageEncoding=UTF-8 % 2 !DOCTYPE html 3 html 4 head 5 titleJava后端WebSocket的Tomcat实现/title 6 /head 7 body 8 Welcomebr/input id=text type=text/ 9 button onclick=send()发送消息/button 10 hr/ 11 button onclick=closeWebSocket()关闭WebSocket连接/button 12 hr/ 13 div id=message/div 14 /body 15 16 script type=text/javascript 17 var websocket = null; 18 //判断当前浏览器是否支持WebSocket 19 if (WebSocket
您可能关注的文档
- Gradle使用文档(补足六个汉字).doc
- grails快速开发web(补足六个汉字).pdf
- Groovy入门教程(补足六个汉字).doc
- Groovy语言概述(补足六个汉字).ppt
- Guice-1.0-用户指南(补足六个汉字).pdf
- HashMap的工作原理(补足六个汉字).doc
- HashMap的实现原理(补足六个汉字).docx
- HBase-Shell常用命令(补足六个汉字).docx
- HIBERNATE - Relational Persistence for Idiomatic Java(补足六个汉字).pdf
- Hibernate Developer Guide(补足六个汉字).pdf
最近下载
- 二级养老护理员国家职业技能培训:制订老年人能力评估计划 PPT教学课件.pptx VIP
- 2022年计算机知识竞赛参考题库(含答案).pdf VIP
- 2021年12月大学英语四级考试题(一).pdf VIP
- 21.《大自然的声音》 说课课件(共37张PPT).pptx VIP
- 中学物理教师跨学科教学能力的评价研究.docx VIP
- 基于哈佛分析框架的泡泡玛特财务分析研究_杨鑫.pdf VIP
- 建筑工程图集 09X700(下):智能建筑弱电工程设计与施工 下册.pdf VIP
- 2025年中医内科主治医师试题库及答案(通用版).docx VIP
- 暨南大学2025年433税务专业基础考研真题.pdf VIP
- 管地暖道隐蔽工程验收的记录.doc VIP
有哪些信誉好的足球投注网站
文档评论(0)