1.MQTT 个人理解 是一个消息转发技术,由客户发布订阅号,根据订阅号进行消息的传递。
2.在使用过程中,发送和接收消息的都是客户端,如果需要可以把一个指定的客户端当作 小服务器来用(我开发项目就这样干的,只有我能发消息,其他客户端只能接收)。
3.废话不多说,直接撸代码。菜鸟级写的东西,写错了大神勿喷。
首先,先到官网下载个服务器端。http://mirrors.cnnic.cn/apache/activemq/activemq-apollo/1.7.1/apache-apollo-1.7.1-windows-distro.zip 我下载的是window版的
然后解压解压后跑到这个目录来 在这个目录打开dos窗口
看红框里面的 你会发现在这个目录下面多出了个yxy 文件夹 这个yxy是我随便输入的
然后 进入到yxy/etc目录打开apollo.xml文件你会看到
这段 这就是 mqtt服务器发布的请求路径 让后打开同级目录下面的user.properties文件 最后一行 你会看到 admin=password 这个就是 服务器的帐号密码
最后跑到yxy/bin 下面 打开dos界面 运行 apollo-broker.cmd run 这个命令 那么服务器你就启动好了
在浏览器输入http://127.0.0.1:61680 就可以看到服务器登录界面了 输入admin=password 登录进去 自己慢慢看
现在来讲客户端 我使用的是java 所以只说java版本的
首先下载mqtt java的驱动包
<dependency>
<groupId>org.eclipse.paho</groupId>
<artifactId>org.eclipse.paho.client.mqttv3</artifactId>
<version>1.0.2</version>
</dependency>
直接代码撸上
这个是接收端的代码
package com.xdb.mqtt.client;
import org.eclipse.paho.client.mqttv3.MqttClient;
import org.eclipse.paho.client.mqttv3.MqttConnectOptions;
import org.eclipse.paho.client.mqttv3.MqttTopic;
import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence;
public class MyMqttClient {
private MqttBean bean;
private MqttClient client;
private MqttConnectOptions options;
/**
* 初始化配置
*/
private void init() {