我的编程空间,编程开发者的网络收藏夹
学习永远不晚

怎么用websocket实现前后端通信

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

怎么用websocket实现前后端通信

这篇文章主要介绍了怎么用websocket实现前后端通信,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

websocket通信是很好玩的,也很有用的的通信方式,使用方式如下:

第一步由于springboot很好地集成了websocket,所以先在在pom.xml文件中引入依赖

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

第二步在前端界面使用websocket,也就是HTML文件中编写

<script>
    var websocket = null;
    if('WebSocket' in window) {
        websocket = new WebSocket('ws://yesell.natapp1.cc/sell/webSocket');
    }else {
        alert('该浏览器不支持websocket!');
    }

    websocket.onopen = function (event) {
        console.log('建立连接');
    }

    websocket.onclose = function (event) {
        console.log('连接关闭');
    }

    websocket.onmessage = function (event) {
        console.log('收到消息:' + event.data)
        //所要执行的操作
    }

    websocket.onerror = function () {
        alert('websocket通信发生错误!');
    }

    window.onbeforeunload = function () {
        websocket.close();
    }

</script>

第三步,一般我们是在controller层实现交互的,然而websocket的交互是在service层,

其中:

@ServerEndpoint("/webSocket")是定义了交互的地址
@Slf4j是日志,有兴趣了解,请看这篇文章https://www.cnblogs.com/yemengshen/p/11478293.html
@OnOpen、@OnClose、@OnMessage这三个方法与前端的三个同名方法相互交互,在需要使用的位置调用方法如下,
到这里基本写完了。
@Component
@ServerEndpoint("/webSocket")
@Slf4j
public class WebSocket {
    private Session session;
    private static CopyOnWriteArraySet<WebSocket> webSocketSet=new CopyOnWriteArraySet<>();
    @OnOpen
    public void onOpen(Session session){
        this.session=session;
        webSocketSet.add(this);
        log.info("【websocket消息】有新的连接,总数:{}",webSocketSet.size());
    }
    @OnClose
    public void onClose(){
        webSocketSet.remove(this);
        log.info("【websocket消息】连接断开,总数:{}",webSocketSet.size());
    }
    @OnMessage
    public void onMessage(String message){
        log.info("【websocket消息】收到客户端发来的消息:{}",message);
    }
    public void sendMessage(String message){
        for(WebSocket webSocket:webSocketSet){
            log.info("【websocket消息】广播消息:{}",message);
            try {
                webSocket.session.getBasicRemote().sendText(message);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

 使用方式:

@Autowired
private WebSocket webSocket;
webSocket.sendMessage("传递的参数");

感谢你能够认真阅读完这篇文章,希望小编分享的“怎么用websocket实现前后端通信”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网行业资讯频道,更多相关知识等着你来学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

怎么用websocket实现前后端通信

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

怎么用Node.js实现WebSocket通信

本篇内容介绍了“怎么用Node.js实现WebSocket通信”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!node的依赖包node中实现W
2023-07-04

Vue中前后端怎么使用WebSocket

这篇文章主要介绍“Vue中前后端怎么使用WebSocket”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Vue中前后端怎么使用WebSocket”文章能帮助大家解决问题。什么是websocketWe
2023-07-05

django+vue如何实现前后端通信

这篇文章主要介绍“django+vue如何实现前后端通信”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“django+vue如何实现前后端通信”文章能帮助大家解决问题。django 环境搭建1.创建d
2023-07-05

Node.js怎么实现WebSocket通信

这篇文章主要讲解了“Node.js怎么实现WebSocket通信”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Node.js怎么实现WebSocket通信”吧!node的依赖包node中实现
2023-07-04

SpringBoot怎么整合WebSocket实现后端向前端发送消息

这篇文章主要讲解了“SpringBoot怎么整合WebSocket实现后端向前端发送消息”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SpringBoot怎么整合WebSocket实现后端向
2023-07-05

怎么使用django和vue项目搭建实现前后端通信

本文小编为大家详细介绍“怎么使用django和vue项目搭建实现前后端通信”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么使用django和vue项目搭建实现前后端通信”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知
2023-07-05

基于Node.js怎么实现WebSocket通信

这篇“基于Node.js怎么实现WebSocket通信”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“基于Node.js怎么实
2023-06-17

java后端+前端使用WebSocket实现消息推送的详细流程

后端向前端推送消息就需要长连接,首先想到的就是websocket,下面这篇文章主要给大家介绍了关于java后端+前端使用WebSocket实现消息推送的详细流程,需要的朋友可以参考下
2022-11-13

flask-socketio实现前后端实时通信的功能的示例

本文主要介绍了flask-socketio实现前后端实时通信的功能的示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-05-17

使用Django怎么实现前后端登录

这期内容当中小编将会给大家带来有关使用Django怎么实现前后端登录,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。前端登录1. login.vue