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

怎么让人搜索到自己做的网站免费制作个人网站

怎么让人搜索到自己做的网站,免费制作个人网站,新网个人网站备案,南宁网站建设哪家公司实力强大纲 最小可行案例依赖开启Websocket,绑定路由逻辑类 测试参考资料 WebSocket是一种先进的网络通信协议,它允许在单个TCP连接上进行全双工通信,即数据可以在同一时间双向流动。WebSocket由IETF标准化为RFC 6455,并且已被W3C定义为…

大纲

  • 最小可行案例
    • 依赖
    • 开启Websocket,绑定路由
    • 逻辑类
  • 测试
  • 参考资料

WebSocket是一种先进的网络通信协议,它允许在单个TCP连接上进行全双工通信,即数据可以在同一时间双向流动。WebSocket由IETF标准化为RFC 6455,并且已被W3C定义为JavaScript API的标准,成为现代浏览器的重要特性之一。
WebSocket的引入彻底改变了传统的Web应用交互模式。在WebSocket之前,Web应用通常使用HTTP协议进行通信,但由于HTTP是一个无状态的、请求-响应模式的协议,它无法满足实时、双向通信的需求。WebSocket的出现,解决了这一问题,它使得Web应用能够像桌面应用一样,实现低延迟、高频率的数据交换。
WebSocket的核心特性包括:

  • 全双工通信:WebSocket允许客户端和服务器之间进行双向通信,数据可以在同一时间双向流动。这意味着服务器可以主动向客户端推送数据,而无需等待客户端发起请求。
  • 长连接:WebSocket连接一旦建立,就会保持打开状态,直到显式关闭。这种长连接特性减少了频繁建立和销毁连接的开销,提高了通信效率。
  • 轻量级头部:WebSocket数据帧采用紧凑的二进制格式,减少了不必要的头部信息,提高了数据传输效率。
  • 实时性:由于数据可以直接在已建立的连接上传输,WebSocket能够实现实时或接近实时的数据交互。
  • 跨域支持:与HTTP一样,WebSocket也允许跨域通信,只需服务器端设置相应的CORS(跨源资源共享)头即可。

通过本系列学习,我们会缩减《RabbitMQ实践——搭建多人聊天服务》一文中的接口,在一个连接上实现消息的收发。

最小可行案例

依赖

在pom.xml中新增

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId>
</dependency>

开启Websocket,绑定路由

src\main\java\com\nyctlc\front\config\WebSocketConfig.java

package com.nyctlc.front.config;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;import com.nyctlc.front.handler.WebSocketHandler;@Configuration
@EnableWebSocket
public class WebSocketConfig implements WebSocketConfigurer {@Overridepublic void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {registry.addHandler(new WebSocketHandler(), "/websocket").setAllowedOrigins("*");}
}

@EnableWebSocket 是 Spring Boot 中的一个注解,它主要用于启用对 WebSocket 的支持。
我们通过WebSocketHandlerRegistry的addHandler方法,将/websocket接口的处理逻辑交由自定义的WebSocketHandler类处理;同时使用setAllowedOrigins来表示接受所有的域过来的请求。

逻辑类

src\main\java\com\nyctlc\front\handler\WebSocketHandler.java

package com.nyctlc.front.handler;import org.springframework.web.socket.TextMessage;
import org.springframework.web.socket.WebSocketSession;
import org.springframework.web.socket.handler.TextWebSocketHandler;import java.io.IOException;
import java.util.HashSet;
import java.util.Set;public class WebSocketHandler extends TextWebSocketHandler {private static Set<WebSocketSession> sessions = new HashSet<>();@Overridepublic void afterConnectionEstablished(WebSocketSession session) throws Exception {sessions.add(session);}@Overrideprotected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {for (WebSocketSession webSocketSession : sessions) {if (webSocketSession.isOpen()) {try {webSocketSession.sendMessage(message);} catch (IOException e) {e.printStackTrace();}}}}
}

当连接建立后,afterConnectionEstablished会被调用,我们将连接保存到sessions集合中。这一步主要是为了后续给各个连接发送请求用。
handleTextMessage表示收到了请求,然后会遍历所有连接,并会对处于Open状态的连接发送收到的消息。这儿就是收发放在一起了。

测试

我在网页中用JS做了各种测试,会发现遇到很多问题。后来索性采用Postman来测试,亲测可行且稳定。
在这里插入图片描述

填入我们绑定的地址:ws://localhost:8080/websocket
在这里插入图片描述
下图可见连接上了
在这里插入图片描述
我们发送一条hello
在这里插入图片描述
可以看到接受到了服务端的反馈
在这里插入图片描述

参考资料

  • https://medium.com/@ropelife/real-time-communication-with-websocket-in-spring-boot-using-webflux-5d9fbb36a0ab
http://www.mmbaike.com/news/85973.html

相关文章:

  • 广东网站开发推荐夸克搜索引擎
  • 软环境建设办公室网站百度网盘服务电话6988
  • 十堰网站制作公司电话个人网站设计成品
  • 营销网站建设都是专业技术人员吗精准引流的网络推广方法
  • 怎样上传图片到自己公司网站东莞百度推广排名
  • 点样用外网访问自己做的网站湖北网络推广
  • 上海网站建设哪家口碑好平台推广计划
  • 怎么在服务器里面建设网站黑龙江seo关键词优化工具
  • 桂林象鼻山门票多少钱seo关键词排名优化费用
  • 中国电信爱资源app宁波seo排名外包公司
  • asp的web音乐网站设计天猫seo搜索优化
  • 张店区网站建设特点有哪些 谢谢广告优化师
  • 售后网站用什么模板品牌网络营销推广方案策划
  • 长沙大型网站建设公司seo优化诊断
  • 重庆市建筑工程造价信息网seo外链在线工具
  • 广州网站建设快速排名杭州百度快照优化公司
  • 用ps做班级网站浏览器谷歌手机版下载
  • 视觉营销的网站设计软文广告500字
  • 朝阳专业做网站seo技术培训茂名
  • 美女做瑷网站海洋网络推广效果
  • 专门做旅游保险的网站360提交入口网址
  • 武汉网站多少建网站找谁
  • wordpress编辑页面没用seo高手培训
  • 房产网站开发功能手册设计网站模板
  • 免费建站网站一级大录像不卡在线看网页大连企业黄页电话
  • 营销网站的建设与管理包括哪些事项杭州网络推广网络优化
  • 兰州市做网站的企业有哪些网站建设报价单模板
  • 做网站怎么添加点击事件一站式营销平台
  • 广州加盟网站建设昨日凌晨北京突然宣布重大消息
  • 网站建设专家推荐乐云seo如何做好营销