前端 消息推送是怎么实现的

前端 消息推送是怎么实现的,第1张

主要介绍其中的五种实现方式:短轮询、Comet、Flash XMLSocket、Server-sent、WebSocket
1、短轮询
指在特定的的时间间隔(如每10秒),由浏览器对服务器发出>

>这个最好不要通过数据库触发事件,建议在插入一条数据同时,再执行一条选择数据的语句。而且浏览器的刷新不建议间隔很短,毫秒级的刷新服务器压力较大,最好5s或这10s刷新,我想一般的监控需求都满足了,如果不能满足就改用客户端吧。

应该是客户端主动定时去连服务器端,这种 *** 作最好要让用户知道第二个问题应该是不是在用户连接到手机时,存到一个地方,或者内存中,或者数据库中但是现在的需求是当数据库有更新时就要主动发送一个更新通知给所有的客户端,然后客户端接到这个通知后才到服务器端取数据。你说的那是轮询,暂时还不想用这种方法,呵呵。问题补充:laorer 写道如果你只是想把消息发给现在在线的用户的话,那么客户端肯定需要一个监听程序,来监听来自服务器的消息,而服务端则在有新数据时,检查在线的用户并获取相关信息,然后发个消息给客户端的监听端口android是linux内核的,而且能连网络,那么肯定是要端口来连接的,这是我的推测,没有去找相关的资料如果是手机的话,是不是会发条短信给手机,毕竟这样不需要知道IP之类的东西浏览器请求服务时,肯定是浏览器定时去服务器请求的,才可能知道有没有新的内容关于在Android手机端开放监听端口,我再研究一下,值得借鉴。问题补充:laorer 写道如果你是自己来管理这些的话,那么当用户连接到服务器时,你需要把用户的这些内容写到服务器的文本或者数据库或者直接保存到内存中,然后用户断开后,把相应的用户信息删掉这样当数据库有新消息时,你可以从保存用户信息的地方得到所有的连线用户,发消息给用户的话,就是把消息发给用户的IP和监听端口,如果客户端有>消息推送(Push)指运营人员通过自己的产品或第三方工具对用户移动设备进行的主动消息推送。推送消息有有5种实现方式,以下是实现的方式:
1、轮询:客户端定时向服务器发送Ajax请求,服务器接到请求后马上返回响应信息,并关闭连接。
2、长轮询:客户端向服务器发送Ajax请求,服务器接到请求后Hold住连接,直到有新消息才返回响应信息,并关闭连接;客户端处理完响应信息后再向服务器发送新的请求。
3、长连接:在页面中嵌入一个隐藏的jframe,将这个隐藏的iframe的src属性设置为对一个长连接的请求或者采用XRH请求,服务器端就能源源不断地往客户端输入数据。
4、Flash Socket:在页面中嵌入一个使用了Socket类的Flash程序,JavaScript通过调用此Flash程序提供的Socket接口与服务器端的Socket接口进行通信,JavaScript在收到服务器端传送的信息后控制页面的显示。
5、WebSocket:WebSocket是HTML5开始提供的一种浏览器与服务器间进行全双工通讯的网络技术;依靠这种技术可以实现客户端和服务器端的长连接,双向实时通讯。
运用这些方式,可以做好消息推送。好的消息推送平台也是做好推送的重要一部分,极光JPush 是经过考验的大规模 App 推送平台,每天推送消息量级为数百亿条。 开发者集成 SDK 后,可以通过调用 API 推送消息。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13458910.html

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

发表评论

登录后才能评论

评论列表(0条)

保存