有什么方法可以找到来自其他客户端的所有连接客户端详细信息(IP和名称)吗?我知道有一个主题"$ SYS/broker/clients/active"给出了当前连接客户端的数量,但是如果我想了解更多关于每个连接客户端的信息,有什么办法吗?
我正在开发一个解决方案,其中客户端的数量(使用无线网络)连接到位于服务器上的MQTT代理.我还将在同一台机器上运行另一个客户端并连接到代理,它将观察是否有任何新客户端与代理连接或者是否有断开连接的客户端.当新客户端连接或连接客户端断开连接时,我可以在代理控制台上看到消息.我们可以从连接到代理的客户端获得类似的东西吗?请建议实现这一目标的最佳方法是什么?
提前致谢.
-Dilip
我尝试将 SSL 与 MQTT 结合使用并收到以下错误,
1379677998: Client connection from 127.0.0.1 failed: error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number.
1379678058: OpenSSL Error: error:140940E5:SSL routines:SSL3_READ_BYTES:ssl handshake failure
1379678058: Socket read error on client (null), disconnecting.
Run Code Online (Sandbox Code Playgroud)
我的conf文件有如下设置,
port 8883
cafile /home/administrator/Downloads/mosquitto-1.2.1_dilip/test/ssl/test-root-ca.crt (also tried all-ca.crt here)
certfile /home/administrator/Downloads/mosquitto-1.2.1_dilip/test/ssl/server.crt
keyfile /home/administrator/Downloads/mosquitto-1.2.1_dilip/test/ssl/server.key
tls_version tlsv1
require_certificate true (tried commenting this too)
Run Code Online (Sandbox Code Playgroud)
我从测试文件夹运行 08-ssl-connect-cert-auth.test 。下面包含代码片段
mosquitto_tls_opts_set(mosq, 1, "tlsv1", NULL);
mosquitto_tls_set(mosq, "../ssl/test-root-ca.crt", "../ssl/certs", "../ssl/client.crt", "../ssl/client.key", NULL);
mosquitto_connect_callback_set(mosq, on_connect);
mosquitto_disconnect_callback_set(mosq, on_disconnect);
rc = mosquitto_connect(mosq, "localhost", 8883, 60);
Run Code Online (Sandbox Code Playgroud)
环境信息:
Python 2.7.3
OpenSSL 1.0.1 14 …Run Code Online (Sandbox Code Playgroud)