【问题标题】:Do I need a private server in order to launch MQTT really small message broker?我是否需要私人服务器才能启动 MQTT 非常小的消息代理?
【发布时间】:2012-01-25 22:36:37
【问题描述】:

我正在尝试为我的 android 应用程序实现推送通知。

我只是想知道我是否需要用于消息代理的私有服务器。

我从

下载了一个用于 android 推送通知的开放 php 源代码

https://github.com/tokudu/PhpMQTTClient

我将这些 php 文件上传到我的网站。然后我从

启动了 broker.exe

非常小的消息代理文件夹。当我从

键入我的网站时

互联网,我的网页显示消息

警告:fsockopen() [function.fsockopen]:无法连接到 /web/home/shlee/html/SAM/MQTT/sam_mqtt.php 第 640 行中的 192.168.0.19:1883(连接超时)

所以我在命令提示符下使用了命令“telnet 192.168.0.19 1883”。

窗口提示没有返回任何错误信息。我对

的了解几乎为零

套接字和计算机网络,所以我猜我一定错过了一些重要的事情

启动消息代理。我需要私人服务器来启动消息代理吗?

或者.. 有什么方法可以从我自己的计算机上启动消息代理?

提前致谢。

【问题讨论】:

  • 你能用外部ip访问吗?

标签: android mqtt


【解决方案1】:

不,您不需要服务器来使用 RSMB,它应该可以在任何有二进制文件的计算机上正常工作。

您是否检查过您的 Windows 防火墙是否正确设置为允许端口 1883 上的外部连接,这听起来很可能。

您选择的 php 客户端并不以维护得很好或可靠而著称,而且可能只是周围最不稳定和不可预测的 MQTT 客户端!我在这方面取得了更大的成功:https://github.com/bluerhinos/phpMQTT

如果您正在寻找具体的帮助,freenode 上有一个 MQTT IRC 频道,它可能会很慢,但如果您闲逛的时间足够长,通常会有人回答您的问题。

如果您还没有遇到过,Dale Lane 写了一些关于在 android 上使用 MQTT 的非常全面的博文:http://dalelane.co.uk/blog/?p=1599

【讨论】:

  • 谢谢。 bluerhinos 的代码读起来很舒服,但这是我第一次使用 php。禁用窗口防火墙不起作用。也许我问得太早了。我想我需要更多地弄清楚 MQTT 和网络,然后再回来问。谢谢你的回答。
  • 作为后续,还有很多其他地方可以去了解 MQTT - 你可以在mqtt.org/get-involved找到一个很好的链接列表
【解决方案2】:

除了 Oliver 所说的,192.168.. 是在 IP 地址的私有范围内。如果运行 Web 服务器的计算机不在此地址范围内,它将无法连接到运行代理的计算机。

在这种情况下,是的,您需要一台私有服务器或至少一台具有可公开寻址 IP 的计算机。

【讨论】:

    【解决方案3】:

    你只需要这个例子。

    这个例子将为您提供 PHP 服务器代码和 Android 代码。

    Tokudu example

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-29
      • 2016-11-26
      • 2014-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多