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

怎么做网站信息私域电商平台有哪些

怎么做网站信息,私域电商平台有哪些,网站验证码代码,短视频软件开发WebSocket 是一种在 Web 应用程序中实现实时、双向通信的技术。它允许客户端和服务器之间建立持久性的连接#xff0c;以便可以在两者之间双向传输数据。 以下是 WebSocket 的一些关键特点和工作原理#xff1a; 0.特点#xff1a; 双向通信#xff1a;WebSocket 允许服务…        WebSocket 是一种在 Web 应用程序中实现实时、双向通信的技术。它允许客户端和服务器之间建立持久性的连接以便可以在两者之间双向传输数据。 以下是 WebSocket 的一些关键特点和工作原理 0.特点 双向通信WebSocket 允许服务器和客户端之间进行双向通信无需客户端发起请求。 实时性WebSocket 提供了实时性通信的能力使得服务器可以立即将数据推送给客户端而无需等待客户端发起请求。 持久性连接与传统的 HTTP 请求-响应模式不同WebSocket 的连接是持久性的一旦建立连接它将保持打开状态直到其中一方主动关闭连接。 低延迟由于 WebSocket 使用单一的 TCP 连接相较于传统的轮询或长轮询方式它能够减少通信的延迟。 节省带宽WebSocket 的头部较小且在通信过程中不需要重复的 HTTP 头部因此可以节省带宽。 1.工作原理 握手阶段客户端发起 WebSocket 握手请求请求头部包含一些特定的字段如 Upgrade 和 Connection 等。服务器收到请求后如果支持 WebSocket 协议会返回 101 状态码表示协议切换成功然后连接升级为 WebSocket 连接。 建立连接建立连接后服务器和客户端可以通过发送消息进行通信。每个消息都被分割成一个或多个帧进行传输。 数据传输WebSocket 数据以帧的形式传输。帧可以是文本、二进制数据或控制帧。文本帧用于传输文本数据而二进制帧用于传输二进制数据。控制帧用于控制连接例如关闭连接或心跳检测。 保持活动状态WebSocket 连接可以保持活动状态无需在每次通信后重新建立连接。服务器和客户端可以周期性地发送心跳消息来保持连接的活跃状态。 关闭连接任何一方都可以通过发送关闭帧来关闭连接。关闭帧包含一个状态码和一个可选的关闭消息。收到关闭帧后双方都应该关闭连接。 WebSocket 在现代 Web 应用程序中被广泛应用于实时通信、在线游戏、实时协作等场景它提供了一种高效且可靠的双向通信方式为开发者提供了更多创新的可能性。 2. 基于 Java 实现 WebSocket 服务端的类 监听连接——ServerEndpoint连接成功——OnOpen连接关闭——OnClose收到消息状态——OnMessage 一方式一通过注解实现 实现了一个基于WebSocket的双向通信系统 其中服务器端配置了 WebSocket 并实现了消息处理和定时推送 客户端页面则使用 JavaScript 创建WebSocket连接 并实现消息发送和接收。 1.项目依赖 dependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-websocket/artifactId/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency/dependencies 2.WsServerEndpoint /*** 监听webSocket地址 /myWs* 即监听谁连接了 客户端*//*** 定义了一个 WebSocket 服务器端点的类。它使用了 ServerEndpoint 来指定 WebSocket 的端点路径为 /myWs。** 这个类也使用了 Component 注解将这个类标记为 Spring 的组件以便 Spring 自动扫描并注册它。** 另外使用了 EnableScheduling 注解用于开启定时任务功能。*/ServerEndpoint(/myWs) // 监听连接 Component Slf4j EnableScheduling public class WsServerEndpoint {static MapString, Session sessionMap new ConcurrentHashMap();//连接建立时 进行的操作//OnOpen: 用于标记连接成功时执行的方法将建立的 Session 对象存储在 sessionMap 中并记录日志表示 WebSocket 已连接。OnOpen // 连接成功public void onOpen(Session session){sessionMap.put(session.getId(), session);log.info(websocket is open);}// 收到客户端消息时 进行的操作//OnMessage: 用于标记接收到消息时执行的方法打印收到的消息并返回一条确认消息。OnMessage // 收到消息状态public String OnMessage(String text){log.info(收到了一条消息text);return 已收到你的消息;}// 连接关闭的时候 执行的操作//OnClose: 用于标记连接关闭时执行的方法从 sessionMap 中移除对应的 Session 对象并记录日志表示 WebSocket 已关闭。OnClosepublic void onClose(Session session){sessionMap.remove(session.getId());log.info(websocket is close);}// 服务端想给 客户端发送数据的话// 》 定时任务实现 (每隔多少秒执行一次)//Scheduled: 使用定时任务通过 Scheduled 注解每隔两秒向所有的客户端发送一条消息。Scheduled(fixedRate 2000)public void sendMsg() throws IOException {for (String key:sessionMap.keySet()){sessionMap.get(key).getBasicRemote().sendText(心跳);}} }3.WebSocketConfig /*** 定义了一个 Spring Configuration 类并且使用了 Bean 注解向 Spring 容器注册了一个 ServerEndpointExporter 的实例** 这个 ServerEndpointExporter 实例是用于在 Spring Boot 中配置和注册 WebSocket 服务器端点的组件。*/ Configuration public class WebSocketConfig {// 将依赖包中的一些 依赖 注入为BeanBeanpublic ServerEndpointExporter serverEndpointExporter() {return new ServerEndpointExporter();} } 4.ws.html !DOCTYPE html html langen headmeta charsetUTF-8titlews client/title /head body /body !--通过 JavaScript 创建了一个 WebSocket 客户端连接到指定路径 /myWs与服务器端点匹配。当连接成功建立时会发送一条消息 hello,phdvb同时当接收到消息时将消息数据打印到控制台。-- scriptlet ws new WebSocket(ws://localhost:8080/myWs)//当连接打开的时候 想服务端发送消息ws.onopen function() {ws.send(hello,phdvb)}ws.onmessage function(message) {console.log(message.data)} /script /html 实现效果 二方式二通过Spring类接口实现 3.基于websocket实现多人聊天室 实现的功能 进入聊天室群聊功能任何人说话所有人都能接收到提醒退出群聊 4.websocket的应用场景 解决怎样的经典问题 Q: 由于Http协议只能由浏览器向服务器发送请求服务器无法直接向浏览器发送请求 常见的提点方案浏览器以轮询的方式向服务器发送请求 轮询的缺陷浪费带宽实时性差导致服务器压力较大 PC端二维码支付 https://pay.weixin.qq.com/wiki/doc/apiv3/open/pay /chapter2_7_2.shtml
http://www.zqtcl.cn/news/646679/

相关文章:

  • 网站建设 技术可行性这是我自己做的网站
  • 西安网站策划关键词优化哪家好
  • 能看建设动漫黄图的网站海外仓一件代发平台
  • 做网站都需要了解什么大连福佳新城2026年建站吗
  • php 网站部署到服务器泉州模板建站哪家好
  • 网站服务器上的跳转选择怎么做网站是怎么建立的
  • 网站后台目录如何保护公司网站建设需要要求什么软件
  • 四川省建设厅网站官网自己做的网站能上传到凡科吗
  • 米拓网站建设-app定制开发免费个人建站系统
  • 网站改版公司如何帮公司做网站
  • 曹县汽车网站建设网站怎么做才 吸引人
  • 河南周口东宇网站建设wordpress怎么重新安装插件
  • wordpress无法上传主题南通做网站优化公司
  • 做彩票网站能挣到钱吗南充市房产信息网
  • 沧州北京网站建设金华网站建设哪个公司好点
  • 北京朝阳建站优化wordpress主题访问慢
  • wordpress最快仿站酷炫个人特别网站
  • 公司建站详细步骤如何注册一家公司要多少钱
  • 网站推广网络营销山西大学物理电子工程学院研招网
  • 亚马逊做国际外贸在哪个网站毕业设计网站开发选题依据
  • 镇江网站排名优化费用app软件开发平台游戏
  • 襄阳网站建设xytzg南通网站建设top
  • 有没有做产品团购的网站2d动画制作软件
  • 成都网站排名生客seo杭州专业网站制作设计
  • 阿里云 企业 网站四平市网站建设
  • 政务门户网站建设信息奇人网站
  • 打开网站弹出广告代码如何建设网站方便后期维护
  • 海淀网站建设龙岩做网站用什么cms 知乎
  • 网站托管费用多少免费一卡二卡三
  • 长沙做网站品牌中信建设官网站首页