gpt4 book ai didi

android - 使用 websockets 和 gcm 的聊天算法

转载 作者:行者123 更新时间:2023-11-30 02:32:56 25 4
gpt4 key购买 nike

我有一个聊天网站,我构建了这个网站的应用程序。现在我的网站和应用程序使用 socket.io(websocket)。在我的应用程序的当前版本中,当用户关闭应用程序时,用户无法收到任何消息(通常)。我决定在我的应用程序中添加 GCM 支持以进行推送通知。但我对此有疑问。

我的场景:

  • 用户 1 从 pc 登录系统,然后他连接到 socket.io服务器,他正在等待消息。
  • 用户 2 从 Android 应用程序登录系统,然后他连接到socket.io 服务器。
  • 现在他们正在聊天。

但是 10 分钟后,用户 2 关闭了应用,现在他收不到消息了。

我在问我应该怎么做才能向用户 2 发送推送通知?

我不是在问 GCM 实现,我知道 GCM 实现。我知道用户 2 的设备 ID 以及如何向该用户发送推送通知。

我的问题是:我需要使用 socket.io 和 GCM。我如何检测到“好的,当用户 1 向用户 2 发送消息时用户 2 关闭了应用程序接收此消息并发送到 gcm 服务器”

这是一个好方法吗?或者你对这个聊天系统有什么建议?例如,您可以举一个 Whatsapp 的例子,他们如何处理这个问题?我认为他们仅将 Gcm 用于推送通知,而在应用程序中他们使用的是 Erlang。

最佳答案

连接到 GCM 的不是 socket.io。您需要一个用于 Node.js 的模块,以启用从 Node.js(运行 socket.io)到 GCM 的连接。像这样的模块 gcm module ,还有可以帮助您入门的示例。

因此,在您的情况下,如果用户在线(您应该已经有了),您需要调用 socket.emit(),否则用户离线并且您想要推送通过调用 gcm.send() 发送消息。

要检测用户是否离线,您需要在 socket.on('disconnect',function(){//add user to offline list}) 处理程序被调用。

关于android - 使用 websockets 和 gcm 的聊天算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27051864/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com