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

昌平知名的网站制作建设报价网站盈利

昌平知名的网站制作建设报价,网站盈利,下载个人简历直接填写,wordpress的用户名与密码SocketWeb实现小小聊天室 消息推送的常见方式轮询长轮询SSE#xff08;server-sent event#xff09;#xff1a;服务器发送事件WebSocketWebSocket简介WebSocket API 实现小小聊天室实现流程消息格式客户端--服务端服务端--客户端 消息推送的常见方式 轮询 浏览器… SocketWeb实现小小聊天室 消息推送的常见方式轮询长轮询SSEserver-sent event服务器发送事件WebSocketWebSocket简介WebSocket API 实现小小聊天室实现流程消息格式客户端--服务端服务端--客户端 消息推送的常见方式 轮询 浏览器以指定的时间间隔向服务器发送HTTP请求服务器将会实时地返回数据给浏览器。 例如浏览器端可以定时每秒钟一次给后端发HTTP请求服务端若有数据会实时返回给浏览器浏览器通过前端展示出来。假设服务器端没有数据更新则依然会返回一个空的数据。 轮询的弊端 易造成浏览器端数据更新的延迟服务器需要不停地处理浏览器发过来的请求即使没有数据更新也需要定时发送空数据给服务器造成较大负担 长轮询 长轮询时浏览器会发出ajax请求异步的javascript和xml请求服务器端接收到请求后会阻塞请求直到有数据更新或者超时才会返回。HTTP/1.1采用的长链接就是这种方式。 与轮询的区别就在于若服务器端无数据更新轮询会返回空数据长轮询则会阻塞住直到超时或数据更新减少了返回的次数也减轻了服务器的压力。 SSEserver-sent event服务器发送事件 SSE会在服务器和客户端之间打开一个单向通道服务器向浏览器传输服务器响应的不再是一次性的数据包而是text/event-stream类型的数据流信息当服务器有数据变更时将数据流式地传输到客户端。 例如浏览器请求下载一个大文件时就会以流式传输源源不断下载数据到客户端。 浏览器先发出请求服务器响应并在二者之间打开一个单向通道然后服务器开始向浏览器源源不断地传输流式数据直到连接关闭。 WebSocket WebSocket简介 WebSocket是一种基于TCP连接上进行全双工通信的协议。 附HTTP协议工作模式 http1.0单工。因为是短连接客户端发起请求之后服务端处理完请求并收到客户端的响应后即断开连接 http1.1半双工。默认开启长连接keep-alive开启一个连接可发送多个请求 http2.0全双工允许服务端主动向客户端发送数据 客户端先发送HTTP请求请求中包含一个upgrade:websocket字段即请求将HTTP协议升级为websocket协议服务端响应头状态为101表示同意将HTTP协议升级成websocket协议。 切换为websocket协议后就可以实现全双工通信了。服务器可以主动发数据给客户端二者之间也可以同时互相发送消息。 WebSocket API 客户端API 现在HTML5已经支持websocket协议。 创建websocket对象let ws new WebSocket(URL);websocket对象相关事件 open 连接建立时触发ws.open message 客户端接收到服务器发送的数据时触发 ws.onmessage close 连接关闭时触发 ws.onclosewebsocket对象提供的方法 send()方法通过websocket对象调用send()方法发送数据给服务端参数即为要发送的数据 scriptlet ws new WebSocket(ws://localhost/chat);ws.open function(){};es.onmessage function(evt){//通过evt.data可以获取服务器发送的数据};ws.onclose function(){}; /script服务端API Tomcat从7.0.5开始支持WebSocket并实现了Java WebSocket规范。 Java WebSocket应用由一系列的Endpoint组成。Endpoint是一个Java对象代表了WebSocket链接的一端。 例如某用户用浏览器和服务端建立了websocket连接之后服务器就会为该用户创建一个自己的Endpoint。即服务端会有和每个客户端一一对应的Endpoint 所以对于服务端来说Endpoint可以视为是处理客户端具体websocket消息的一个接口专门和某一个浏览器建立一对一的关系处理其发送的消息并返回消息等。 Endpoint对象在Websocket握手时创建并在客户端与服务端链接过程中有效最后在链接关闭时结束。 通常用注解式方式实现Endpoint即定义一个POJO并添加ServerEndpoint相关注解。 在Endpoint接口中定义了与其生命周期相关的方法注解式实现如下 OnOpen当开启一个新的会话时调用该方法是客户端与服务端握手成功后调用的方法OnClose当会话关闭时调用OnError当连接过程异常时调用 了解了Endpoint生命周期接下来要开始数据传输了 服务端接收客户端发送的数据 定义Endpoint时用OnMessage注解指定接收消息的方法收到消息后会自动执行 服务端推送数据给客户端 发送消息由RemoteEndpoint完成其实例由Session维护。 发送消息有同步和异步两种方式 同步通过session,getBasicRemote获取同步消息发送的实例然后调用其sendXxx()方法发送消息 异步通过session,getAsyncRemote获取异步消息发送实例然后调用其sendXxx()方法发送消息 注如sendText()就是发送文本数据 ServerEndpoint(/chat) Component public class ChatEndpoint{OnOpen//连接建立时被调用public void onOpen(Session session, EndpointConfig config){}OnMessage//接收客户端发送的数据时被调用public void Message(String message){}OnClose//连接关闭时调用public void onClose(Session session){} }Web浏览器和服务器建立websocket连接之后OnOpen事件就会触发onOpen方法就会自动执行。Tomcat会解析这些注解然后传递onOpen方法中的参数。 实现小小聊天室 实现流程 ws client为客户端组件即浏览器login页面输入用户名密码登录后会请求UserController里的方法登录成功后浏览器会向服务端发送websocket请求触发OnOpen事件在发送消息时将消息推送到服务器端触发OnMessage事件当关闭连接时触发OnClose事件UserController用于登录请求的接收校验用户名密码是否正确用户名不为空即可密码要求为123登录成功后跳转到聊天室页面OnOpenOnOpen事件被触发后在该方法中要记录session和httpsession并广播消息因为登录并建立会话之后需要通知其他用户我已登录并把最新的用户列表推送给所有的客户端OnMessageOnMessage事件被触发后需要解析消息并判断收消息的人是谁最后把消息推送给指定的人OnCloseOnclose事件被触发后断开与客户端的连接。 消息格式 消息均为Json格式分为客户端推送给服务端的消息以及服务端返回客户端的消息。服务端发往客户端的消息又分两种一种是系统消息如显示所有好友信息另一种是推送给用户的消息即聊天消息。 客户端–服务端 消息格式{“toName”:“刘能”, “message”:“你好”} 服务端–客户端 系统消息格式{“system”:true, “fromName”:null, “message”:[“好友1”,“好友2”]}推送给某一个用户的消息格式{“system”:false, “fromName”:刘能, “message”:“你好”}
http://www.w-s-a.com/news/723076/

相关文章:

  • 太原模板建站平台旅游企业网站建设工作的通知
  • 网站国外建设超级简历模板官网
  • 上海网站建设市场医药网站怎么做
  • 宁夏成城建设集团网站网店美工课本
  • 哪些网站的简历做的比较好政务服务 网站 建设方案
  • 如何建设个人网站凡科怎么样vps安装wordpress后怎样登录
  • 学seo朝阳区seo
  • 网站开发团队成员皮具网站建设
  • 国外外贸需求网站响应式布局网页
  • 手机端便民服务平台网站建设昆明网络哪家好
  • 产品网站建设找哪家舟山信息港
  • 唐山网站建设汉狮怎么样seol英文啥意思
  • 深圳小程序网站开发公司网页制作模板视频教程
  • 电子商务网站开发开题报告wordpress更改后台地址
  • 网站静态前端是什么工作
  • 餐饮门户网站 方案怎么做创业好项目
  • 做百度手机网站推广普通话的宣传标语
  • 记事本可以做网站吗网站服务器是主机吗
  • 手机网站被拦截怎么办怎么解决东营建设信息网网
  • 外贸网站模板免费微信网站开发技术
  • 视频盗版网站怎么做福州网站seo
  • 成都金铭 网站建设做网站包含的技术
  • 长沙的网站建设公司哪家好做网站应选那个主题
  • 公司网站百度搜不到如何自己做一个网站
  • 学生如何建设网站网站开发程序
  • 网站建设公司哪家好 皆来磐石网络网站建设"淘宝网" 在颜色选取和搭配方面有哪些值得学习的地方.
  • 网站如何做移动规则适配北京住房与城乡建设部网站
  • 课堂阵地建设网站wordpress运行机制
  • 网站建设的需求方案企业网站建设费用明细
  • 创口贴网站模板京创影视app