当前位置: 首页 > news >正文

杭州拱墅网站建设关键词优化哪家强

杭州拱墅网站建设,关键词优化哪家强,老牛影视传媒有限公司,上海代办营业执照的正规公司【课程简介】 越来越多的系统都有消息推送的功能,如聊天室、邮件推送、系统消息推送等; 要实现消息推送就需要服务端在数据有变化时主动推送消息给客户端,本次课程将带大家使用websocket实现消息推送。 【主讲内容】 1.方法:如…

【课程简介】

越来越多的系统都有消息推送的功能,如聊天室、邮件推送、系统消息推送等;

要实现消息推送就需要服务端在数据有变化时主动推送消息给客户端,本次课程将带大家使用websocket实现消息推送。

【主讲内容】

1.方法:如何快速上手新项目
2.技术:消息推送方案+websocket原理
3.实战:实现案例网页版聊天室

【课程详情】

Java后端项目实战--在线聊天交友

消息推送常用方式介绍

 

 SSEserver-sent event):服务器发送事件

SSE在服务器和客户端之间打开一个单向通道

服务端响应的不再是一次性的数据包,而是text/event-stream类型的数据流信息

服务器有数据变更时将数据流式传输到客户端

 WebSocket是一种在基于TCP连接上进行全双工通信的协议

说明:

全双工(Full Duplex):允许数据在两个方向上同时传输。

半双工(Half Duplex):允许数据在两个方向上传输,但是同一个时间段内只允许一个方向上传输。

原理解析

请求数据

GET ws://localhost/chat HTTP/1.1

Host: localhost

Connection: Upgrade

Upgrade: websocket

Sec-WebSocket-Version: 13

Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==

Sec-WebSocket-Extensions: permessage-deflate

响应数据

HTTP/1.1 101 Switching Protocols

Upgrade: websocket

Connection: Upgrade

Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=

Sec-WebSocket-Extensions: permessage-deflate

websocket API

客户端【浏览器】API

websocket对象创建

let  ws  =  new WebSocket(URL);

格式:协议://ip地址/访问路径

协议:协议名称为 ws

websocket对象相关事件

websocket对象提供的方法 

客户端【浏览器】API

 

服务端 API

Tomcat的7.0.5 版本开始支持WebSocket,并且实现了Java WebSocket规范。

Java WebSocket应用由一系列的Endpoint组成。Endpoint 是一个java对象,代表WebSocket链接的一端,对于服务端,我们可以视为处理具体WebSocket消息的接口。

我们可以通过两种方式定义Endpoint:

第一种是编程式, 即继承类 javax.websocket.Endpoint并实现其方法。

第二种是注解式, 即定义一个POJO, 并添加 @ServerEndpoint相关注解。

Endpoint实例在WebSocket握手时创建,并在客户端与服务端链接过程中有效,最后在链接关闭时结束。在Endpoint接口中明确定义了与其生命周期相关的方法, 规范实现者确保生命周期的各个阶段调用实例的相关方法。生命周期方法如下

服务端如何接收客户端发送的数据呢? 

 编程式

通过添加 MessageHandler 消息处理器来接收消息

注解式

在定义Endpoint时,通过@OnMessage注解指定接收消息的方法

服务端如何推送数据给客户端呢?

发送消息则由 RemoteEndpoint 完成, 其实例由 Session 维护。

发送消息有2种方式发送消息

通过session.getBasicRemote 获取同步消息发送的实例 , 然后调用其 sendXxx()方法发送消息

通过session.getAsyncRemote 获取异步消息发送实例,然后调用其 sendXxx() 方法发送消息

 

 项目实现---在线聊天室实现

需求:通过websocket实现在线聊天室

 

 

 

流程分析

 消息格式 

客户端 --> 服务端  {"toName":"张三","message":"你好"}

服务端 --> 客户端

系统消息格式:{"system":true,"fromName":null,"message":["李四","王五"]} 

推送给某一个用户的消息格式:{"system":false,"fromName":"张三","message":"你好"}

代码实现

引入坐标

编写配置类,扫描添加有@ServerEndpoint注解的 Bean 

编写配置类,用于获取 HttpSession 对象 

@ServerEndpoint 注解中引入配置器 

 

 

 

http://www.15wanjia.com/news/21034.html

相关文章:

  • 如何用asp做视频网站关键词网站
  • 济南软件网站建设域名收录查询工具
  • 织梦整形医院网站模板江苏seo平台
  • 计算机系毕设代做网站宁德市人社局官网
  • 哪些分类网站网上营销方法
  • 新乡哪有网站建设公司谷歌浏览器安卓下载
  • 怎么做存储网站湖南seo服务电话
  • 山东网站制作策划网店推广培训
  • 西安营销型网站建设动力无限个人网站模板建站
  • 做政府门户网站建设长沙优化网站推广
  • 群晖的网站开发宁波seo教学
  • 自己做网站背景图片宁波网站制作优化服务
  • 网站模板如何修改域名海外推广运营
  • 滨州网站建设铭盛信息上海哪家seo好
  • 手表网站大全百度获客平台怎么收费的
  • 宁夏住房和城乡建设厅网站首页重庆seo网站推广优化
  • 全球搜索引擎网站seo关键词排名优化软件怎么选
  • 建网站引流做淘宝网络推广靠谱吗
  • 做视频网站需要多大的带宽网络公司网站建设
  • 诸城做网站建设的网店营销策划方案范文
  • 只用html5做网站seo网站优化
  • 类似站酷的设计网站国家提供的免费网课平台
  • 两学一做 投稿网站网络推广公司可不可靠
  • 济南网站建设培训班全国疫情高峰感染高峰
  • 沧州有做网站的吗湘潭网站seo
  • 网站尺寸规范百度明星人气榜
  • 网站建设网络推广销售个人网站免费制作平台
  • 创业做网站开发莆田百度推广开户
  • wordpress引用css样式seo软件系统
  • 桃城区网站制作公司重庆seo标准