消息传递服务器如何验证目标客户端并发送推送通知

时间:2018-02-28 18:00:46

标签: java networking push-notification client-server instant-messaging

我的客户是Android设备。客户端希望将一些信息发送到另一个客户端,该客户端将首先发送到应用服务器,然后服务器将通知中间件服务(某种消息代理),该服务器将负责向目标客户端发送推送通知(告知)它从应用服务器轮询) 我想知道:
此中间件服务如何识别要通知的客户端设备?
更具体地说,推送通知服务器如何找到要触发通知的物理设备?
我的要求是即使在使用VPN或代理(类似于WhatsApp)时,客户端也应该能够获得通知。此外,如果客户端已关闭电源,则中间件会对消息进行排队,并在客户端重新打开电源后将其传送出去 我一直在研究Firebase云消息传递和MQTT经纪人等事情,但我想自己实现类似的事情。
我想用Java实现它。

1 个答案:

答案 0 :(得分:0)

您的客户(拥有唯一ID和令牌)会将邮件发送给另一个客户端,该客户端数据库中的唯一ID和令牌 ..所以,

  

服务器将映射接收器' id到接收者令牌并将通知发送给接收者..

数据库(后端)将针对每个客户端具有唯一ID(可能是主键),并且还针对每个客户端具有唯一令牌(用于发送通知)。因此,当发送方 - 客户端发送消息时,后端脚本将接收方 - 客户端(发送方正向其发送)id映射到接收方客户端令牌。然后将通知发送到特定令牌。