如何在基于Linux的客户端应用程序中使用Firebase与服务器进行双向消息通信

时间:2018-10-16 19:41:53

标签: python c++ firebase google-cloud-messaging firebase-cloud-messaging

我已经在互联网上看过Google的文档以及许多有关如何在Android / iOS应用程序中使用Firebase的示例,但是我想开发一个在Linux机器上运行的客户端Firebase应用程序。

我的要求是:

  • 客户端在linux环境(C ++或python中的写程序)上运行。
  • 服务器是用Javascript(NodeJS)编写的。
  • 服务器和客户端之间应使用Firebase实时数据库进行双向通信。

我也看到了firebase REST api,但是我认为这对我来说还不够好,因为我还没有看到像onValueChanged这样的客户端监听器api。

问题:

如何使用C ++或python实现基于Linux的应用程序,该应用程序使用侦听器侦听来自服务器的消息(数据更改),而不必每隔几秒钟调用某些get函数(就像NodeJS一样)有ref.on("child_changed",...)ref.on("value",...)吗?


非常感谢您的帮助!

3 个答案:

答案 0 :(得分:4)

不幸的是,Python中没有正式的Realtime Database库,但是围绕REST API有一些第三方包装器。

具体地说,我将看一下Pyrebase库,该库还支持监听实时更改https://github.com/thisbejim/Pyrebase#streaming

有关更多信息,图书馆或其他语言请查看此页面https://firebase.google.com/docs/database/rest/start

答案 1 :(得分:1)

Google提供了一个C ++ SDK,您可以here下载它。

页面底部还有一个教程,但是如果您真的想深入研究一些代码,here是github上google上的快速入门代码,其中包含Firebase上每个类别的示例。

Google还在桌面操作系统的C ++中为演示目的实现了一个游戏。 here您可以在此处找到更多高级功能和代码示例。

我只在Mac OS X上的XCode项目中尝试过,并且工作正常。我没有实时数据库的代码,但是您应该在github存储库中找到示例项目。 https://github.com/firebase/quickstart-cpp

我希望这会有所帮助!

问候。

答案 2 :(得分:0)

您是否不尝试使用C ++的实时数据库触发器(当前处于beta版),从而可以模拟与JS上相同的工作流程? 从我的角度来看,这是使其按需运行的最佳方法。 https://firebase.google.com/docs/functions/database-events