首页 > 其他分享 >5.Websocket实现消息推送

5.Websocket实现消息推送

时间:2023-12-05 22:00:44浏览次数:33  
标签:Websocket 双向通信 实时 消息 推送 客户端

  项目需要一个在线协同办公功能来进行消息实时推送,我采用SpringBoot结合Websocket来实现该功能。Websocket采用全双工通信方式,可以在客户端和服务端之间建立持久的连接,实现实时的双向通信。

相对于传统的HTTP请求,WebSocket具有以下优势:

  • 实时性:Websocket提供实时的双向通信能力服务器可以主动推送消息给客户端,而不需要客户端主动发送请求。这使得Websocket适用于需要及时更新的实时场景
  • 低延迟:Websocket通过建立长连接,可以减少每个消息的传输开销,从而降低通信的延迟
  • 较少的带宽占用:相比于HTTP请求,Websocket使用更少的带宽,因为Websocket在建立连接后只需要较小的额外开销
  • 跨域支持:ebsocket可以轻松支持跨域通信,因为它不受浏览器同源策略的限制

WebSocket使用场景:

  1. 实时聊天应用:Websocket能够提供实时的双向通信,使得实时聊天系统能够实时更新消息,并且可以实现在线用户状态的实时更新。
  2. 实时协作编辑:Websocket使得多个用户能够实时协作编辑同一个文档每个用户的修改可以广播给其他用户(腾讯文档),实现实时的协同编辑功能。
  3. 实时推送服务:Websocket可以与服务器建立持久化连接,服务器可以主动推送实时的更新给客户端,例如实时股票行情推送、实时新闻推送等

消息推送其实还可以通过消息队列来完成,后续将通过消息队列完成该功能。

 

标签:Websocket,双向通信,实时,消息,推送,客户端
From: https://www.cnblogs.com/kzf-99/p/17878395.html

相关文章

  • Facebook消息多发工具功能介绍
    在当今的数字化时代,社交媒体已成为人们日常生活中的重要组成部分,对于企业和营销人员来说,如何有效地利用社交媒体平台来提高品牌知名度、扩大市场份额以及与目标客户建立良好的关系,成为了他们面临的重要问题。Facebook作为全球最大的社交网络之一,为企业提供了一个广阔的舞台,而Facebo......
  • websocket简单使用
    <template></template><script>importbusfrom'@/utils/bus'importconfigfrom'@/config/constantconfig';exportdefault{components:{},data(){return{socket:null,isDestroyed:false,......
  • WebSocket简介
    WebSocket(简称为ws)是一种在Web应用程序中实现双向通信的协议。以下是一个使用JavaScript实现的简单WebSocket示例://创建WebSocket对象并建立连接constsocket=newWebSocket("wss://example.com/socket");//连接建立时触发的事件socket.onopen=function(){......
  • 【教程】苹果推送证书的创建和使用流程详解
    ​【教程】苹果推送证书的创建和使用流程详解 摘要本篇博客主要介绍了苹果推送证书的使用流程。首先,在苹果开发者中心创建推送证书,然后在应用程序中使用该证书进行消息推送。文章详细说明了创建推送证书的步骤,并提供了在应用程序中注册推送服务、发送推送消息以及处理推送消......
  • RabbitMQ 延迟消息的实现——延迟消息插件
     步骤:1.把资料中的rabbitmq_delayed_message_exchange-3.9.0.ez 复制到docker的mq容器的插件目录2.执行命令 dockerexec-itmqrabbitmq-pluginsenablerabbitmq_delayed_message_exchange 在Java代码中配置延迟交换机:(图的左边是注解方式,右下角是@Bean的方式) 比......
  • 系统框架层修改,编译,推送相关操作
    参考了原文,原文记录更加详细,framework.jarframework.jar是包含了Android系统框架层Java类的压缩文件。如果只修改了该文件,可以按照以下步骤操作#启动编译工具sourcebuild/envsetup.sh#编译framework.jar文件makeframework或者cd~/framework/base:mm或者make-j32......
  • 消息队列入门 —— 以 Kafka 为例(一)
    消息队列入门——以Kafka为例(一)概述当我们的应用逐步变得庞大,各层应用之间调用关系越来越复杂,对系统的可用性以及可扩展性要求也越来越高。消息队列作为分布式系统架构中的一个关键中间件,提供了“消息传递”和“消息排队模型”,可以应用在系统解耦、异步处理、流量削峰等多个......
  • 极语言3-7滚动信息类、滚动条类、消息类、消息框类——成员表
    中文名字英文名称长度作用解释滚动信息类SCROLLINFO28用来储存滚动条信息滚动信息类——成员表长度cbSize整数结构长度字节数,该值在设置和查询参数时都必须填写。标志fMask整数指定结构中的哪些成员是有效,SIF_ALL全部有效,SIF_DISABLENOSCROLL禁止滚动SIF_PAGE页码有效,SIF_POS位置有......
  • RabbitMQ 消息转换器
     代码示例:1.引入依赖<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId></dependency>2.在启动类中创建Beanpackagecom.itheima;importorg.springframework.amqp.rabbit.core.Rabbi......
  • 消息转换器
    Spring会把你发送的消息序列化为字节发送给MQ,接收消息的时候,还会把字节反序列化为Java对象。只不过,默认情况下Spring采用的序列化方式是JDK序列化。众所周知,JDK序列化存在下列问题:数据体积过大有安全漏洞可读性差c配置JSON转换器显然,JDK序列化方式并不合适。我们希......