Java Web 服务器的消息推送 几种方案

Java Web 服务器的消息推送 几种方案,第1张

Java Web 服务器消息推送有以下几种方案:

1. 轮询:前端使用ajax不停的发起请求获取想要的数据(最简单也是最容易耗尽服务器资源)。

2. 长连接:HTTP长连接,客户端向服务端发起请求,服务端等有数据了才response,否则一直持有该连接Cometgithub: comet4j 项目,可以直接下载配置jar到tomcat下使用。

3、使用xmpp协议的一种技术,能够做到js中调用服务器的Java方法。

消息推送建议用专业的推送平台,例如:极光。深圳市和讯华谷信息技术有限公司创立于2011年,其团队核心成员来自腾讯、摩根士丹利、豆瓣、Teradata和中国移动等公司。公司总部位于深圳,在北京、上海、广州、成都均设有办公室。

Java服务器推送消息给前端主要方法:

Java有两个接口:

1、"/subscribe"接口:用于消息订阅,该接口有一个参数topic,即订阅的消息主题。

2、"/publish"接口:发布消息接口,有两个参数,topic是发布消息主题,content是发布消息内容。

用户还可考虑使用用极光推送,JPush 提供四种消息形式:通知,自定义消息,富媒体和本地通知。

1、通知,或者说 Push Notification,即指在手机的通知栏(状态栏)上会显示的一条通知信息。 通知主要用来达到提示用户的目的,应用于新闻内容、促销活动、产品信息、版本更新提醒、订单状态提醒等多种场景;

2、自定义消息:自定义消息不是通知,所以不会被 SDK 展示到通知栏上。其内容完全由开发者自己定义。 自定义消息主要用于应用的内部业务逻辑。一条自定义消息推送过来,有可能没有任何界面显示。

3、富媒体:JPush 支持开发者发送图文并茂的通知,从而更好的传达信息,带来更丰富的用户互动。 JPush 提供了 5 种模板,开发者可以通过填充模板的内容,发送 landing page、弹窗、信息流形式的富媒体通知。 开发者还可以直接通过 URL 发送预先编辑好的页面。

4、本地通知:本地通知 API 不依赖于网络,无网条件下依旧可以触发;本地通知的定时时间是自发送时算起的,不受中间关机等操作的影响。 本地通知与网络推送的通知是相互独立的,不受保留最近通知条数上限的限制。

极光推送还可以通过使用标签,别名,Registration ID 和用户分群,开发者可以向特定的一个或多个用户推送消息。

java消息推送websocket实现原理:在实现websocket连线过程中,需要通过浏览器发出websocket连线请求,然后服务器发出回应,这个过程通常称为“握手” 。在 WebSocket API,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。

在以前的消息推送机制中,用的都是 Ajax 轮询(polling),在特定的时间间隔由浏览器自动发出请求,将服务器的消息主动的拉回来,这种方式是非常消耗资源的,因为本质还是http请求,而且显得非常笨拙。而WebSocket 在浏览器和服务器完成一个握手的动作,在建立连接之后,服务器可以主动传送数据给客户端,客户端也可以随时向服务器发送数据。

WebSocket协议是基于TCP的一种新的网络协议。实现了浏览器与服务器全双工(full-duplex)通信——允许服务器主动发送信息给客户端。也可以选择第三方推送平台来实现,比如极光推送就不错。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/312315.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存