1

我正在尝试将连续数据(如位置)从 android 设备 A 发送到 android 设备 B 。

现在android设备A向服务器发送数据,服务器将数据保存在数据库中,然后设备B不断地从服务器读取数据。

1- 有什么方法可以直接连接这些设备,或者以一种减轻服务器负载的方式连接?

2 或者告诉设备B等到服务器上有新数据的方法?

3 如果我应该对第二个问题使用推送通知,我可以制作自己的推送通知服务器而不使用谷歌云消息吗?

4 Whatsapp 和电报等消息应用程序如何处理从一部手机向另一部手机发送数据?

4

1 回答 1

2

好吧,您可以使用两种可能性,第一种是简单地设置从设备 B 到服务器的长轮询或 websocket 连接,而不是每次都使用新连接连续读取直接数据,而是保持连接到服务器,当新数据进入时,服务器将其发送给您。有关这方面的更多信息 - 查看此堆栈问答: 什么是长轮询、Websockets、服务器发送事件 (SSE) 和 Comet?

另一种可能性是通过任意数量的推送服务使用推送通知。我个人喜欢使用 If This Then That (IFTTT) https://ifttt.com maker 频道。如果这是一个个人项目,这很好,但如果您正在为您将分发的应用程序或作为商业产品开发一些东西,您可能想要查看一些付费选项。我也听说https://pushbots.com/提供了很好的服务,但我自己并没有用它来肯定地说。

如果您想运行自己的推送服务器,请查看http://airnotifier.github.io/以获取解决方案,但我认为,归根结底,一切都使用 Google Cloud Messaging 服务,所有推送流量都通过据我所知,可以访问您的 Android 设备。

于 2017-07-04T02:39:04.720 回答