2011-12-22 43 views
0

我正在尝试为我的android应用程序实现推送通知。我是否需要专用服务器才能启动MQTT真正的小消息代理?

我只是想知道我是否需要私人服务器的消息经纪人。

我下载了Android的推送通知一个开放PHP源从

https://github.com/tokudu/PhpMQTTClient

我上传的PHP文件到我的网站。然后我发起了broker.exe从

真的很小的消息代理文件夹。在/网络无法连接到192.168.0.19:1883(连接超时):当我输入我的网站从

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

警告:的fsockopen()[function.fsockopen] /home/shlee/html/SAM/MQTT/sam_mqtt.php on line 640

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

窗口提示没有返回任何错误消息。我几乎零知识约

插座和计算机联网,所以我猜我必须错过了推出一个消息代理一些重要的东西

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

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

在此先感谢。

+0

您是否可以使用外部IP访问? – nasaa 2012-05-13 00:13:32

回答

2

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

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

您选择的php客户端不是很好维护或可靠,也许只是关于最不稳定和不可预知的MQTT客户端!我已经受够了更多的成功这一个:https://github.com/bluerhinos/phpMQTT

还有,如果你正在寻找具体的帮助freenode上的MQTT IRC频道,它可能会很慢,但如果你流连太久的人通常会回答您的问题。

如果你还没有遇到过戴尔里写了一些非常全面的博客文章在Android设备上使用MQTT:http://dalelane.co.uk/blog/?p=1599

+0

谢谢。来自bluerhinos的代码看起来非常舒适,除了这是我第一次使用php。禁用窗口防火墙不起作用。也许我问得太早。我想我需要弄清楚MQTT和网络,然后回过头来问。谢谢你的回答。 – 2011-12-23 02:00:18

+1

作为后续工作,还有其他一些地方可以学习MQTT - 您可以在http://mqtt.org/get-involved找到一个很好的链接列表。 – 2011-12-23 12:34:22

1

除了什么奥利弗说,192.168。 位于IP地址的专用范围内。如果运行Web服务器的计算机不在该地址范围内,则它将无法连接到运行代理的计算机。

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

0

你只需要这个例子。

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

Tokudu example

相关问题