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

wordpress知名网站深圳外贸公司名录

wordpress知名网站,深圳外贸公司名录,网络销售怎么推广,php网站打开一片空白这里写自定义目录标题 一、消息推送常见方式二、websocket 是什么#xff1f;三、websocket api的介绍1、客户端 #xff08;浏览器#xff09;2、服务端api 四、实现在线聊天室1、需求2、聊天室流程分析3、消息格式4、代码实现 一、消息推送常见方式 1、轮训方式 2、SSE… 这里写自定义目录标题 一、消息推送常见方式二、websocket 是什么三、websocket api的介绍1、客户端 浏览器2、服务端api 四、实现在线聊天室1、需求2、聊天室流程分析3、消息格式4、代码实现 一、消息推送常见方式 1、轮训方式 2、SSEserver-send event服务器发送事件 3、websocket 二、websocket 是什么 websocket 是一种基于TCP 连接上进行全双工通信的协议 三、websocket api的介绍 1、客户端 浏览器 websocket对象创建 websocket对象相关事件 websocket 对象提供的方法 2、服务端api Tomcat 的7.0.5版本开始支持 websocket , 并且实现了Java websocket 规范。 Java websocket 应用由一系列的 Endpoint组成。 Endpoint 是一个java对象代表websocket连接的一段。对于服务端我们可以视其为处理具体websocket消息的接口。 我们可以通过两种方式定义EndPoint 编程式继承类 javax.websocket.Endpoint 并实现其方法 注解式定义一个pojo并添加ServerEndPoint相关注解 服务端如何接收客户端发过来的数据呢 编程式 通过添加MessageHandler消息处理器来接收消息 注解式 在定义endpoint时通过OnMessage 注解指定接收消息的方法 服务器如何推送消息给客户端 发送消息由RemoteEndpoint完成其实例由Session维护。 四、实现在线聊天室 1、需求 通过websocket实现在线聊天室 2、聊天室流程分析 3、消息格式 4、代码实现 1 引入依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-websocket/artifactId/dependency2编写配置类 扫描所有添加 ServerEndpoint注解的Bean Configuration public class WebsocketConfig {Beanpublic ServerEndpointExporter serverEndpointExporter() {return new ServerEndpointExporter();} }编写配置类用于获取 HttpSession 对象 public class GetHttpSessionConfig extends ServerEndpointConfig.Configurator {/*** param sec* param request 握手请求* param response*/Overridepublic void modifyHandshake(ServerEndpointConfig sec, HandshakeRequest request, HandshakeResponse response) {// 获取HttpSession对象HttpSession httpSession (HttpSession) request.getHttpSession();// 将 HttpSession对象保存起来sec.getUserProperties().put(HttpSession.class.getName(), httpSession);} } 在ServerEndpoint 注解中引入配置器 ServerEndpoint(value “/chat”, configurator GetHttpSessionConfig.class) ServerEndpoint(value /chat, configurator GetHttpSessionConfig.class) Component public class ChatEndpoint {/*** 使用static* ChatEndpoint是多例的多个实例共享一个Map对象*/private static final MapString, Session onlineUsers new ConcurrentHashMap();private HttpSession httpSession;OnOpenpublic void onOpen(Session session, EndpointConfig endpointConfig) {this.httpSession (HttpSession) endpointConfig.getUserProperties().get(HttpSession.class.getName());String userName (String) httpSession.getAttribute(user);// 1、将我们的session进行保存onlineUsers.put(userName, session);// 2、广播消息将登录的用户推送给所有的用户String message MessageUtils.getMessage(true, null, userName 上线);boardcast(message);// 3、}/*** 广播消息*/private void boardcast(String message) {// 遍历 map 集合SetMap.EntryString, Session entries onlineUsers.entrySet();for (Map.EntryString, Session entry : entries) {Session session entry.getValue();try {session.getBasicRemote().sendText(message);} catch (IOException e) {// 记录日志}}}/*** 浏览器发送消息到服务端该方法会被调用*/OnMessagepublic void onMessage(String message, EndpointConfig endpointConfig) {try {this.httpSession (HttpSession) endpointConfig.getUserProperties().get(HttpSession.class.getName());String fromName (String) httpSession.getAttribute(user);// 将消息推送给指定的用户 message : {toName:张三,message:你好}ClientMessage message1 JSON.parseObject(message, ClientMessage.class);String toName message1.getToName();Session session onlineUsers.get(toName);String message2 MessageUtils.getMessage(false, fromName, message1.getMessage());session.getBasicRemote().sendText(message2);} catch (IOException e) {throw new RuntimeException(e);}}/*** 当websocket连接断开时此方法会被处罚*/OnClosepublic void onClose(Session session, EndpointConfig endpointConfig) {// 从在线用户集合中剔除断开连接的用户this.httpSession (HttpSession) endpointConfig.getUserProperties().get(HttpSession.class.getName());String userName (String) httpSession.getAttribute(user);onlineUsers.remove(userName);// 通知其他用户当前用户下线String message MessageUtils.getMessage(true, null, userName 上线);boardcast(message);} }
http://www.w-s-a.com/news/453218/

相关文章:

  • 网站建设 深圳 凡科重庆家居网站制作公司
  • 自己也可以免费轻松创建一个网站企业收录网站有什么用
  • 帮别人做网站违法导航网站开发工具
  • seo网站外包公司字画价格网站建设方案
  • 网站国内空间价格销售技巧
  • 广安建设企业网站qq互联网站备案号
  • 京东网站建设的要求vs2010做的网站
  • wordpress 新闻杂志主题佛山企业网站排名优化
  • 选服务好的网站建设金华市开发区人才网
  • 广州建站商城南阳高质量建设大城市网站
  • 网站建设合同封面模板做代炼的网站
  • 外贸网站建站要多少钱南昌优化排名推广
  • 做公司网站的尺寸一般是多大企业管理网站
  • 苏州网站设计公司兴田德润i简介做签证宾馆订单用啥网站
  • 网站页面设计工具做网站租空间
  • 做智能网站系统百度提交入口
  • 网站建设代理商电话网站规划和建设方案
  • 双桥区网站制作seo 首页
  • 电子商务网站建设前期准备wordpress域名指向二级目录
  • 汕头建站网站模板淮北做网站电话
  • 手机做logo用什么网站服务器安全防护
  • 课程分销的网站怎么做北京企业网站建设方案
  • 吴兴区建设局网站湖北企业网站建设
  • 网页与网站的区别是什么2023年8月份新冠
  • 唐山网站建设外包公司安卓手机怎么搭建网页
  • 国内做网站最大的公司计量检测网站平台建设方案
  • 重庆沛宣网站建设网页制作初学者
  • php网站漂浮广告代码网络营销跟网站推广有啥区别
  • wordpress调用图片优化型网站建设的基本要求
  • 郑州模板网站建设策划公司做网站怎么赚钱滑县电