我正在尝试为我的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'。
窗口提示没有返回任何错误消息。我几乎没有关于
的知识 套接字和计算机网络,所以我猜我必须错过一些重要的东西启动消息代理。我是否需要私人服务器来启动消息代理?
或..有没有办法从我自己的电脑启动消息代理?
提前感谢。
答案 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)