网站消息推送介绍

最近呢,想写个商品网站,添加了,商品推荐功能和站内搜索功能,还想添加消息推送功能~~~

但是呢,以前从来没用接触过网站消息推送,看到过QQ新闻推送,一些网站都有此功能,所以就想实现一个,不求太复杂~~~

于是呢,各种百度,各种google~~~~这篇博文只给大家介绍一下,各种实现消息推送的方案~~~至于实现,在下一篇博文中给出~~

那么无论好坏,实现服务器消息推送功能的方案都有哪些呢?

                 服务器推送(Server Push)技术的主要思想是在没有客户端请求的情况下,服务器端主动地发送数据到客户端(即浏览器)并显示给用户(S/C 模式),是一种先进的服务器端和客户端之间通信方式。

一,一般人想到的是让客户端不停的向服务器请求访问,比如说一分钟请求一次,服务器盲目的向请求的客户端推送消息~~该方案,好坏先不说,也不失为一种解决方法!

 

二,其次,是基于Http的长连接技术,当客户端与服务器连接上了,就一直保持链接,这样服务器也就可以随时向客户端发送消息了!!消耗是大了点,但是也是一种方法

 

三,基于Ajax的长轮询。一般最原始的作法就是在客户端搞个定时器一直向后台请求,而ajax的长轮询与一般的http连接不一样,它发送的是长连接,比如说你发过去一个连接,它并不急于给你返回过来请求,而是等到后台有动作的时候才有相应,这样就减少了客户端的压力。

 

四,利用开源框架comet。Comet是一种用于web的推送技术,能使服务器能实时地将更新的信息传送到客户端,而无须客户端发出请求,目前有两种实现方式,ajax长轮询和iframe流。

 

五,随着comet的不断发展,各种开源框架不断涌现,pushlet就是一种成熟的开源框架~~~~Pushlet是一种comet实现:在Servlet机制下,数据从server端的Java对象直接推送(push)到(动态)HTML页面,而无需任何Java applet或者插件的帮助。它使server端可以周期性地更新client的web页面,这与传统的request/response方式相悖。浏览器client为兼容JavaScript1.4版本以上的浏览器(如Internet Explorer、FireFox),并使用JavaScript/Dynamic HTML特性。而底层实现使用一个servlet通过Http连接到JavaScript所在的浏览器,并将数据推送到后者。

 

其实,这五种方式有重复的地方,归根到底无非是两种形式:http长连接和轮询(无论是长轮询,还是短轮训)~~~~

这几种方式呢,各有优缺点,我用的是pushlet开源框架~~稍后,会为大家讲解pushlet相关并给大家一个我实现的一个完整例子!!!

 

 

 

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要详细了解RocketMQ的消息推送教程,你可以通过访问官方网站上的文档来获取更多信息。 在该文档中,你将找到详细的操作步骤和示例代码。 首先,你需要在项目的pom文件中引入RocketMQ的jar包。具体操作如下:将以下代码添加到pom文件的dependencies标签中: ```xml <!--rocketmq--> <dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-client</artifactId> <version>4.2.0</version> </dependency> ``` 接下来,你需要设置RocketMQ的安装目录和RocketMQ的地址。你可以通过设置环境变量或在代码中进行设置。例如,在Windows系统中,你可以设置ROCKETMQ_HOME环境变量为RocketMQ的安装目录的上一级目录。同时,你需要设置NAMESRV_ADDR环境变量为RocketMQ的地址,例如localhost:9876。 一旦你完成了这些准备工作,你可以开始使用RocketMQ进行消息推送。你可以根据官方文档中的示例代码来编写你的应用程序。文档中详细介绍了如何创建Producer、发送消息和处理发送结果等操作。 通过这些步骤,你就可以开始使用RocketMQ进行消息推送了。记得参考官方文档以获取更多详细信息和示例代码。 <span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [分布式消息队列RocketMQ详细下载安装教程](https://blog.csdn.net/weixin_45703155/article/details/126395300)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [springBoot项目部署rocketmq,使用mq消息对了实现微信公众号客服消息推送](https://blog.csdn.net/FengRenYuanDeFZ/article/details/114577203)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值