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

做黑龙头像的网站c2c网站管理系统

做黑龙头像的网站,c2c网站管理系统,扬中新闻回放视频,html5网站开发实例目录 WebSocket简介WebSocket原理WebSocket的使用场景在Spring Boot中集成WebSocket 创建Spring Boot项目添加依赖配置WebSocket创建WebSocket处理器配置WebSocket端点前端使用WebSocket添加WebSocket拦截器 WebSocket简介 WebSocket是一种在单个TCP连接上进行全双工通信的…目录 WebSocket简介WebSocket原理WebSocket的使用场景在Spring Boot中集成WebSocket 创建Spring Boot项目添加依赖配置WebSocket创建WebSocket处理器配置WebSocket端点前端使用WebSocket添加WebSocket拦截器 WebSocket简介 WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket使客户端和服务器之间的数据交换变得更加简单和快速适用于需要实时更新的应用场景。 WebSocket原理 WebSocket协议建立在HTTP协议之上但它不是HTTP协议的延续而是HTTP协议升级的一种。客户端通过发送一个HTTP请求来发起WebSocket连接这个请求包含一个特殊的Upgrade头表示请求协议从HTTP升级到WebSocket。服务器在接收到这个请求后如果支持WebSocket协议则返回一个101状态码表示切换协议随后双方就可以通过这个TCP连接进行双向通信。 WebSocket的使用场景 WebSocket非常适合以下应用场景 实时聊天应用例如即时通讯工具。在线游戏需要低延迟、高频率的数据交换。实时数据推送例如股票行情、体育赛事直播。协同编辑工具例如多人在线文档编辑。 在Spring Boot中集成WebSocket 创建Spring Boot项目 首先使用Spring Initializr或IDE如IntelliJ IDEA创建一个新的Spring Boot项目选择合适的Spring Boot版本如2.7.x或3.x并添加以下依赖 Spring WebWebSocket 添加依赖 在pom.xml中添加WebSocket的依赖 dependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-websocket/artifactId/dependency!-- 其他依赖 -- /dependencies配置WebSocket 创建一个配置类来启用WebSocket支持并配置WebSocket端点和处理器。 import org.springframework.context.annotation.Configuration; import org.springframework.web.socket.config.annotation.EnableWebSocket; import org.springframework.web.socket.config.annotation.WebSocketConfigurer; import org.springframework.web.socket.config.annotation.WebSocketHandlerRegistry;Configuration EnableWebSocket public class WebSocketConfig implements WebSocketConfigurer {Overridepublic void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {registry.addHandler(new MyWebSocketHandler(), /ws).setAllowedOrigins(*) // 允许跨域.addInterceptors(new MyWebSocketInterceptor()); // 添加拦截器} }创建WebSocket处理器 创建一个处理WebSocket消息的处理器类 import org.springframework.web.socket.TextMessage; import org.springframework.web.socket.WebSocketSession; import org.springframework.web.socket.handler.TextWebSocketHandler;public class MyWebSocketHandler extends TextWebSocketHandler {Overridepublic void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {String payload message.getPayload();// 处理接收到的消息System.out.println(Received: payload);session.sendMessage(new TextMessage(Echo: payload));}Overridepublic void afterConnectionEstablished(WebSocketSession session) throws Exception {// 连接成功后的逻辑处理System.out.println(Connected: session.getId());} }添加WebSocket拦截器 为了在WebSocket连接建立之前和断开之后进行一些预处理和后处理可以添加WebSocket拦截器。 创建一个WebSocket拦截器类 import org.springframework.web.socket.WebSocketHandler; import org.springframework.web.socket.server.HandshakeInterceptor;import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.Map;public class MyWebSocketInterceptor implements HandshakeInterceptor {Overridepublic boolean beforeHandshake(HttpServletRequest request, HttpServletResponse response, WebSocketHandler wsHandler, MapString, Object attributes) throws Exception {// 在握手之前的逻辑处理System.out.println(Before Handshake);// 可以通过请求参数进行身份验证等return true; // 返回true表示继续握手返回false表示终止握手}Overridepublic void afterHandshake(HttpServletRequest request, HttpServletResponse response, WebSocketHandler wsHandler, Exception exception) {// 在握手之后的逻辑处理System.out.println(After Handshake);} }配置WebSocket端点 在WebSocketConfig中配置WebSocket端点如上所示已经在registerWebSocketHandlers方法中注册了WebSocket处理器和端点。 前端使用WebSocket 在前端使用JavaScript来连接和通信 !DOCTYPE html html langen headmeta charsetUTF-8titleWebSocket Demo/title /head bodyh1WebSocket Demo/h1button onclickconnect()Connect/buttonbutton onclicksendMessage()Send Message/buttonscriptlet socket;function connect() {socket new WebSocket(ws://localhost:8080/ws);socket.onopen function(event) {console.log(Connected to WebSocket server.);};socket.onmessage function(event) {console.log(Received: event.data);};socket.onclose function(event) {console.log(Disconnected from WebSocket server.);};socket.onerror function(error) {console.log(WebSocket error: error);};}function sendMessage() {if (socket) {socket.send(Hello, WebSocket!);}}/script /body /html至此与websocket的集成结束。
http://www.hkea.cn/news/14510581/

相关文章:

  • 全栈工程师是做网站吗wordpress订单查询
  • 桐庐网站建设广州网站开发 找亦客公司优质
  • 网站建设包含内容ppt下一页
  • 现在做网站用什么软件服务器做的网站怎么使用教程
  • 物流网站模板做外贸推广的网站
  • 西安网站维保公司天河门户网
  • 荷城网站设计vps服务器购买网站
  • 网站的网站建设企业网络营销专业好吗
  • 可信网站认证服务商自己做的网站可以上架烟吗
  • 微网站开发平台免费微官网登录
  • 哈尔滨建筑专业网站软件技术用什么软件
  • 网站模板下载之后怎么做百度账号登陆
  • 百度做公司网站多少钱浙江手机版建站系统信息
  • 有哪些做问卷调查给钱的网站wordpress容器
  • wordpress显示不正常东莞网络优化哪家好
  • 做ps网页设计的网站有哪些想学编程去哪里找培训班
  • 怎么用新浪云做网站网站班级文化建设视频
  • wordpress 企业站开发php网站后台登陆地址
  • 北京学习网站建设中国著名十大vi设计案例
  • 案例学习网站建设方案设计素材网站哪个好
  • 合肥网站建设百家号wordpress 页面与目录
  • 成都高新区建设局网站wordpress 修改目录id
  • 长沙网页设计公司网站新手学做网站 电子书
  • 网站建设模板之家免费下载实战网站开发
  • 凡科建站步骤域名申请哪家好
  • 做外国网站定制安卓app多少钱
  • 网站建设会面临些什么问题百度一下知道首页
  • 三门峡网站建设公司东莞网络推广建站
  • 阿里巴巴国际站怎么开店创建网站的步骤是
  • 做h5那个网站好小程序开发文档api