通过使用WebSocket使前后端数据交互

这篇具有很好参考价值的文章主要介绍了通过使用WebSocket使前后端数据交互。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.对WebSocket的了解

  • WebSocket是一种在单个TCP连接上进行全双工通信的协议

  • WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据

  • 在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。

特点

较少的控制开销

更强的实时性

保持连接状态

更好的压缩效果

2.在pom.xml文件中添加WebSocket组件依赖

  <!--  WebSocket组件依赖  -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-websocket</artifactId>
            <version>2.7.3</version>
        </dependency>

3.使用依赖组件ServerEndpointExporter构建配置类MyWebSocketConfig

@Configuration
public class MyWebSocketConfig {
    @Bean
    public ServerEndpointExporter getServerEndpointExporter(){
        return new ServerEndpointExporter();
        }
    }

4.构建服务类MyWebSocketServer

@Service
@ServerEndpoint("/websocket")//获取前端请求
public class MyWebSocketServer {
    List<Object> list = new ArrayList();
    @OnOpen
    public void onOpen(Session session){
         System.out.println("已经与浏览器端建立连接" + session.getId());
     }
​
    @OnMessage
    public String onOpen(String info,Session session){
        Map<String,Object> map = new HashMap<>();
        list.add(info);
        map.put("list",list);
        map.put("info",info);
        map.put("sessionID", session.getId());
        System.out.println("前端推送的信息为===========" + info + session.getId());
        return map.toString();
    }
}

5.前端代码

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        <input type="text" id="sent" onchange="test()" placeholder="请输入信息。。。。">
        <br>
        <br>
        <input type="text" id="message" style="width: 800px;height: 50px;">
​
        <script>
            let websocket = new WebSocket("ws://127.0.0.1:8080/websocket");
            websocket.onopen = function() {
                console.log("已经与服务器建立连接。。。。。");
            };
            websocket.onmessage = function(map) {
                document.querySelector("#message").value = map.data;
            };
​
            function test(){
                let value = document.querySelector("#sent").value;
                websocket.send(value);
            }
        </script>
    </body>
</html>
​

6.运行界面

前端

websocket前后端交互,websocket,java,网络协议

 后端

websocket前后端交互,websocket,java,网络协议

 文章来源地址https://www.toymoban.com/news/detail-560987.html

 

到了这里,关于通过使用WebSocket使前后端数据交互的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Vue 中前后端使用WebSocket

    什么是websocket WebSocket 是一种网络通信协议。RFC6455定义了它的通信标准。 WebSocket是HTML5下一种新的协议(websocket协议本质上是一个基于tcp的协议) 它实现了浏览器与服务器全双工通信,能更好的节省服务器资源和带宽并达到实时通讯的目的 http是一种无状态,无连接,单向的

    2024年01月24日
    浏览(93)
  • js和java交互websocket实现实时聊天

    目录 1.运用场景(实现效果):  2.代码及其讲解: js配置: (1)时间判断函数: (2)建立ws连接: 结束!         前端运用原生js来与后端提供的ws进行交互,实现在线实时聊天,离线储存数据方便读取聊天记录的效果,效果图如下: (1)时间判断函数: (2)建立ws连接:

    2024年02月12日
    浏览(36)
  • Java Websocket 02: 原生模式通过 Websocket 传输文件

    Java Websocket 01: 原生模式 Websocket 基础通信 Java Websocket 02: 原生模式通过 Websocket 传输文件 关于 Websocket 传输的消息类型, 允许的参数包括以下三类 以下类型之一, 同时只能出现一个 文本类型 (text messages) 的消息: String, Java primitive, 阻塞的 Stream Reader, 带text decoder(Decoder.Text or Deco

    2024年02月09日
    浏览(53)
  • webSocket实现数据的实时推送(附:前后端代码)

            之前开发的一个管理系统项目中,首页是数据大屏展示,一开始我是用JS的 setInterval() 方法,设置一个时间,每过时间发起一次 ajax 请求。虽然也能凑活着用,但总感觉不是最优的方法,而且还比较占用资源,所以学习 WebSocke ,以下是本人的一些学习心得及前后端的

    2024年02月02日
    浏览(51)
  • websocket使用案例(前后端springboot+vue)

    参考资料:spring官网 案例代码地址:https://spring.io/guides/gs/messaging-stomp-websocket/ 官方文档地址:https://docs.spring.io/spring-framework/reference/web/websocket/stomp/message-flow.html 使用websocket进行简单的通信,功能大致为 广播推送全体消息 ,根据不同用户推送 特定消息 。 我这次使用后端s

    2024年02月07日
    浏览(33)
  • 如何使用Java Websocket实现实时数据监控功能?

    随着互联网应用的不断发展,实时数据监控功能成为了许多应用的必备功能之一。本文将介绍如何使用Java WebSocket实现实时数据监控功能,并提供具体的代码示例。 :Java WebSocket、实时数据监控、代码示例 一、什么是WebSocket? WebSocket是一种网络协议,可以在实现了We

    2024年02月03日
    浏览(42)
  • Springboot 整合 WebSocket ,使用STOMP协议 ,前后端整合实战 (一)(1)

    server: port: 9908 3.WebSocketConfig.java import org.springframework.context.annotation.Configuration; import org.springframework.messaging.simp.config.MessageBrokerRegistry; import org.springframework.web.socket.config.annotation.EnableWebSocketMessageBroker; import org.springframework.web.socket.config.annotation.StompEndpointRegistry; import org.springfra

    2024年04月25日
    浏览(44)
  • 进度变动实时通知-使用SocketIO实现前后端的通信(基于WebSocket的实时通信库)

    最近在接触的一个项目,将PDF上传到项目里,通过调用OCR云服务把PDF里的表格数据识别出来。在此过程中,前后端需要实时通信,对识别数据进行“进度跟踪”。因此我们采用SocketIO的通讯方式,识别中前端和后端服务建立SocketIO连接,根据事件进行数据的实时更新百分比进度

    2024年02月06日
    浏览(51)
  • Java-web:使用Axios代替JSP进行前后端分离与数据交互

    使用Servlet注解代替配置web.xml文件 在servlet3.0版本支持使用注解 1.创建一个Servlet响应axios发送的请求 JSP代替: 还原JSP到HTML: Axios:将ajax进行封装,简化JS发送异步请求的代码 Axios官网:https://www.axios-http.cn/ 下载axios.js文件到本地然后再HTML头文件引入或者直接引用网址的JS头文

    2024年02月06日
    浏览(39)
  • Thinkphp5.0 安装使用Workerman实现websocket前后端通信,后端主动推送消息到前端

    安装使用Workerman实现websocket前后端通信,后端主动推送消息到前端,实现后端有数据更新时,前端页面自动更新数据。 我使用的是基于Thinkphp5.0的ThinkCMF5.0。 安装: 启动: public目录下放置的server.php文件,注意里面的配置必须按照你的Worker控制器来: woker控制器: 后端主动推

    2024年02月16日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包