我是否需要私有服务器才能启动MQTT非常小的消息代理?

时间:2011-12-22 08:42:02

标签: android mqtt

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

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

我从

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

https://github.com/tokudu/PhpMQTTClient

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

启动了broker.exe

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

输入我的网站时

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

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

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

窗口提示没有返回任何错误消息。我几乎没有关于

的知识 套接字和计算机网络,所以我猜我必须错过一些重要的东西

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

或..有没有办法从我自己的电脑启动消息代理?

提前感谢。

3 个答案:

答案 0 :(得分:2)

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

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

你所选择的php客户端并不是很好维护或可靠,也许只是关于最不稳定和不可预测的MQTT客户端!我在这个方面取得了更大的成功:https://github.com/bluerhinos/phpMQTT

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

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

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

你只需要这个例子。

此示例将为您提供PHP服务器代码和Android代码。

Tokudu example