0

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

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

我从

https://github.com/tokudu/PhpMQTTClient

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

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

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

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

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

窗口提示没有返回任何错误信息。我对这方面的了解几乎为零

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

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

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

提前致谢。

4

3 回答 3

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

于 2011-12-22T10:11:35.000 回答
1

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

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

于 2011-12-22T15:02:25.857 回答
0

你只需要这个例子。

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

Tokudu 示例

于 2012-03-31T05:59:58.417 回答