1.windows系统下的mosquitto 怎么配置
1、下载mosquitto安装文件(http://mosquitto.org/files/source/)2、找到相应系统的安装文件安装,如果不想做任何设置直接在服务里启动就行。
3、配置文件如果需要配置一些用户名、密码、用户权限的参数,则需要修改安装目录下的mosquitto.conf文件 下面来说说我用到的一些参数吧:①用户密码: #password_file pwfile.example 后面跟着是用户密码配置文件,需写上绝对路径并且路径不带空格②创建用户密码:打开doc窗口,进入mosquitto安装目录,运行mosquitto_passwd -c pwfile.example userName 回车,然后输入密码(密码输入两遍后,在该文件里会自动加密密码)生成的文件内容格式例如:userName:$6$Ls7JYQTdn9xagJJ2$/WArx/SAtFRKlvKKnHRCUg==userName2:$6$bymgVcrtj+7wj8mR$+/TKZwz9aKQJ72zJym5A=③如果想再增加用户,则执行mosquitto_passwd -u pwfile.example userName2即可④用户权限:#acl_file aclfile.example 后面跟着是用户权限配置文件,需写上绝对路径并且路径 文件内容格式为:user userName/etc/ld.so.conf.dmosquitto.conf/usr/local/lib/python2.6/site-packages ( mosquitto.py )/usr/local/bin vi /etc/sysconfig/iptables /usr/local/src/mosquitto-1.1.3/lib/pythonmake installldconfig不改config.mk里面的东西需要安装yum -y install patch make gcc gcc-c++ gcc-g77 flex bisoncentos5.6下 yum -y install gcc automake autoconf libtool makeyum -y install openssl openssl-devel vim-minimalhttp://www.openssl.org/source/openssl-1.0.0.tar.gz这里为只读topic read 主题user userName2这里为可读可写topic 主题topic #(或+)表示可以读写任何主题到这里用户密码及权限已配置完成,订阅和发布的时候加上用户名及密码即可验证:例如:订阅client = new MqttClient("tcp://127.0.0.1:1883","java_client0000000000"); // 回调处理类Myback callback = new Myback(); client.setCallback(callback); // 创建连接可选项信息MqttConnectOptions conOptions = new MqttConnectOptions(); conOptions.setCleanSession(false); conOptions.setUserName("userName"); conOptions.setPassword("pwd".toCharArray()); // 连接broker client.connect(conOptions); client.subscribe("主题");}发布:MqttClient client = new MqttClient("tcp://127.0.0.1:1883","mqttserver-pub"); MqttTopic topic = client.getTopic("主题");MqttMessage message = new MqttMessage(topic.getName().getBytes()); message.setQos(1); MqttConnectOptions options = new MqttConnectOptions(); options.setUserName("userName"); options.setPassword("pwd".toCharArray()); client.connect(options); topic.publish(message);}即可验证。
2.如何用mosquitto搭建服务器
Mosquitto是一款实现了消息推送协议MQTT v3.1的开源消息代理软件,提供轻量级的,支持可发布/可订阅的的消息推送模式,使设备对设备之间的短消息通信变得简单,比如现在应用广泛的低功耗传感器,手机、嵌入式计算机、微型控制器等移动设备。
Mosquitto官网: MQTT协议: 客户端连接日志 1403334375: New connection from 121.201.8.163 on port 1883.1403334375: New client connected from 121.201.8.163 as zhoujing (c0, k60, ujoyo).1403334375: Sending CONNACK to zhoujing (0) 以上是一个客户端正常连接的日志。 第一行:服务器收到一个新的连接请求 1403334375: 表示连接的时间点 121.201.8.163: 客户端的IP地址 1883: 连接的服务器端口号 第二行:服务器为客户端建立连接 zhoujing (c0, k60, ujoyo): 客户端连接指定的ClientID为'zhoujing' c0: 表示cleanSession=false,不清除session k60: 表示keep-alive=60s ujoyo: 表示使用的服务器账号为joyo 第三行:发送连接ACK包给客户端 客户端订阅过程日志 1403334375: Received SUBSCRIBE from zhoujing1403334375: jiji/chat/9 (QoS 2)1403334375: zhoujing 2 jiji/chat/91403334375: Sending SUBACK to zhoujing 第一行:服务器收到一个来自ClientID为zhoujing的订阅请求 第二行:服务器识别zhoujing订阅的主题为 jiji/chat/9,指定的QOS=2(有且只发送一次) 第三行:给ClientID=zhoujing客户端发送订阅ACK回包 服务器发送内容给客户端日志 1403334378: Sending PUBLISH to zhoujing (d0, q2, r0, m1, 'jiji/chat/9', 。
(396 bytes))1403334378: Received PUBREC from zhoujing (Mid: 1)1403334378: Sending PUBREL to zhoujing (Mid: 1)1403334378: Received PUBCOMP from zhoujing (Mid: 1) 第一行:服务器正在发送一个消息给ClientID=zhoujing的客户端,消息体大小为396 bytes,消息主题为'jiji/chat/9' (d0, q2, r0, m1)的解释, 以下参数具体含义,参考MQTT协议 d: 表示mqtt报头的DUP字段 q: 表示的QOS字段 r: 表示的是RETAIN m: 表示的是消息ID,即mid 第二行:发布收稿阶段,有保证的交付第一部分 第三行:出版发行阶段,有保证的交付第二部分 第四行:发布完成,有保证的交付第三部分,至此一个内容发部过程完成 客户端主动断开连接的日志 客户端主动断开连接的只有一行日志,很简单。如下所示: 1403334380: Received DISCONNECT from JY_API_PUSH_CLIENT 接收客户端发布内容的过程日志 1403334389: Received PUBLISH from JY_API_PUSH_CLIENT (d0, q2, r0, m1, 'jiji/chat/9', 。
(396 bytes))1403334389: Sending PUBREC to JY_API_PUSH_CLIENT (Mid: 1)1403334389: Received PUBREL from JY_API_PUSH_CLIENT (Mid: 1)1403334389: Sending PUBCOMP to JY_API_PUSH_CLIENT (Mid: 1) 第一行:接收来自ClientID=JY_API_PUSH_CLIENT的发布请求,发布的消息主题为'jiji/chat/9',消息大小为396 bytes 第二行:服务器发送PUBREC给客户端,此过程与发送消息给客户端正好对称,只不过是Received和Sending的对象反过来而已 第三行:服务器接收到客户端已经释放的命令,内容交付第二步完成 第四行:通知客户端,接收完成,至此一个消息发布完成,内容交付第三步完成 同一个ClientID重复连接时 1403334510: New connection from 121.201.7.150 on port 1883.1403334510: Client JY_API_PUSH_CLIENT already connected, closing old connection. 接收客户端心跳包 1403336716: Received PINGREQ from : Sending PINGRESP to 36383A64663A6464003V0 客户端连接超时,服务器主动清除连接信息 1403336671: Client 33303A33393A3236003V0 has exceeded timeout, disconnecting. 客户端socket异常时的日志 1403337602: Socket error on client 351BBJKFX62C1, disconnecting.1403337602: Socket error on client 351BBJKFX62C0, disconnecting.。
3.mosquitto.conf 怎么配置
1、下载mosquitto安装文件(openssl-1.0.0.tar.gz这里为只读topicread主题useruserName2这里为可读可写topic主题topic#(或+)表示可以读写任何主题到这里用户密码及权限已配置完成,订阅和发布的时候加上用户名及密码即可验证:例如:订阅client=newMqttClient("tcp://127.0.0.1:1883","java_client0000000000");//回调处理类Mybackcallback=newMyback();client.setCallback(callback);//创建连接可选项信息=newMqttConnectOptions();conOptions.setCleanSession(false);conOptions.setUserName("userName");conOptions.setPassword("pwd".toCharArray());//连接brokerclient.connect(conOptions);client.subscribe("主题");}发布:MqttClientclient=newMqttClient("tcp://127.0.0.1:1883","mqttserver-pub");MqttTopictopic=client.getTopic("主题");MqttMessagemessage=newMqttMessage(topic.getName().getBytes());message.setQos(1);=newMqttConnectOptions();options.setUserName("userName");options.setPassword("pwd".toCharArray());client.connect(options);topic.publish(message);}即可验证。
4.linux 4 上安装 mosquitto哪个版本的
0.tgz 2.mongodb.org/linux/mongodb-linux-i686-3.0.4.tgz" target="_blank">http://fastdl.41.下载解压mongodb安装包 wget 10 mb-5 f-12> 邹振威|运营|发布于2017-04-17
转载请注明出处windows之家 » win10安装mosquitto