我是新来Mosquitto
和MQTT
我下载的Mosquitto
服务器库,但我不知道如何对它进行测试.
有没有办法测试Mosquitto
服务器?
我用mosquitto_passwd
命令创建了一个密码文件.
mosquitto_passwd /etc/mosquitto/passwd admin
Run Code Online (Sandbox Code Playgroud)
我在以下位置添加了密码文件的路径mosquitto.conf
:
password_file /etc/mosquitto/passwd
Run Code Online (Sandbox Code Playgroud)
但是当我订阅或发布它不需要用户名/密码?
mosquitto_sub -t '#' -d
Client mosqsub/19032-Dell sending CONNECT
Client mosqsub/19032-Dell received CONNACK
Client mosqsub/19032-Dell sending SUBSCRIBE (Mid: 1, Topic: #, QoS: 0)
Client mosqsub/19032-Dell received SUBACK
Subscribed (mid: 1): 0
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
我已经创建了一个client
类型MqttClient
,如下面的代码所示,我创建了一个客户端并且它是它的Asynchronous callback
.问题是,
1 - 当我运行程序时,System.out.println("Client is Connected");
出现了,但是我没有收到onSuccess
来自o的响应onFailure
,为什么?我在代码中做错了.
2-i实现了static IMqttAsyncClient asynchClientCB = new IMqttAsyncClient()
接口,但由于我有一个类型的客户端MqttClient
,我不能使用这个IMqttAsyncClient
接口.我尝试使用mqttAsynchClien
但是因为我为java编程而不是因为Android
我无法使用它.如何使用IMqttAsyncClient
界面.?
Update_1
在下面的代码"Updated_code_1",我稍微修改了的代码,但我期望每个i成功地连接到时间broker
在消息onSuccess
要被打印同步回调,并且在消息onFailure
中onnection的情况下,要被打印同步callbck终止如当我故意断开网络.但是在我连接到的时候broker
,既没有onSuccess
也没有onFailur
任何事情.那么,它们的设计目的是什么?
*Update_2_17_Dec_2014
我有一个询问可能会引导我们找到解决方案,也就是说,如果我通过有线/无线网络连接到代理,这有关系吗?会改变同步和异步监听器的行为吗?
Updated_1_code:
MqttConnectOptions opts = getClientOptions();
client = MQTTClientFactory.newClient(broker, port, clientID);
if (client != null) {
System.out.println("Client is not Null");
client.setCallback(AsynchCallBack);
if (opts != null) {
iMQTTToken …
Run Code Online (Sandbox Code Playgroud) 我在 Win7 PC 上安装了 mosquitto,我希望它可以侦听许多端口,因此我根据 mosquitto 文档和网上找到的一些教程/示例修改了 mosquitto.conf。这些是我对 mosquitto.conf 所做的修改:
\n\n # Plain MQTT protocol\n listener 1883\n\n # MQTT over TLS/SSL\n listener 8883\n protocol mqtt\n require_certificate false\n\n # MQTT over TLS/SSL with certificates\n listener 8884\n protocol mqtt\n require_certificate true\n certfile cert.pem\n cafile chain.pem\n keyfile privkey.pem\n\n # Plain WebSockets configuration\n listener 9001\n protocol websockets\n\n # WebSockets over TLS/SSL\n listener 9883\n protocol websockets\n require_certificate true\n cafile mosquitto/ca.crt\n certfile mosquitto/hostname.crt\n keyfile mosquitto/hostname.key\n\n # Log system configuration\n log_type all \n #log_dest file C:/Dati/mosquitto/mosquitto.log\n log_facility …
Run Code Online (Sandbox Code Playgroud) 当我第一次运行Mosquitto(MQTT)经纪人时没有问题.但是,当他第二次使用默认配置运行它时,由于以下错误,我无法成功运行代码:
1379497253:mosquitto版本1.2(构建日期2013-09-17 17:59:39 + 0530)启动1379497253:使用默认配置.1379497253:在端口1883上打开ipv6侦听套接字.1379497253:错误:地址已在使用中
我想知道如何从命令行停止代理.如果有人可以提供帮助,那就太好了.
我正在尝试设置一个使用ssl/tls加密的mosquitto代理.我不想生成客户端证书.我只想要一个加密的连接.
手册页仅描述了可用的设置,而不是需要的设置以及如何使用它们.
需要哪些设置以及如何设置它们?
我使用mosquitto 1.3.5
我正在考虑将mosquitto作为MQTT经纪人.根据我的阅读,我意识到Mosquitto不支持水平缩放.
到目前为止,我的要求的所有其他标准都可以通过Mosquitto来满足.
我不确定这个问题是否过于通用或广泛,但我想知道的是,如果有任何方法可以实现扩展功能,还可以为Mosquitto实现负载平衡等.
我在我的ubuntu机器上安装了mosquitto服务器和客户端软件包.当我运行命令"mosquitto"来运行mosquitto服务器时,我收到错误"错误:地址已在使用中".为什么我收到此错误?我该如何解决这个问题?
我已经看到了mosquitto_pub -h [server] -r -n -t [XYZ]语法,用于清除一条消息.我的问题是设备开发人员发布了大量垃圾邮件.我有一个java/paho代码库,我想根据需要自动修改它,但我似乎无法发布零字节消息.我试过了
client.publish(topic,null);
Run Code Online (Sandbox Code Playgroud)
但这似乎不起作用.
关于如何删除所有内容的任何建议.