当前位置: 首页 > news >正文

建设行业网站平台的瓶颈响应式网站和自适应网站的区别

建设行业网站平台的瓶颈,响应式网站和自适应网站的区别,wordpress上传视频人50,怎么去建设微信网站文章目录安装EMQXjava集成添加依赖mqtt配置参数发布组件订阅组件测试接口接口测试最近在了解物联网云平台方面的知识,解除了mqtt协议,只看书籍难免有些枯燥,所以直接试验一下,便于巩固理论知识。 broker服务器操作系统&#xff1a…

文章目录

  • 安装EMQX
  • java集成
    • 添加依赖
    • mqtt配置参数
    • 发布组件
    • 订阅组件
    • 测试接口
    • 接口测试

最近在了解物联网云平台方面的知识,解除了mqtt协议,只看书籍难免有些枯燥,所以直接试验一下,便于巩固理论知识。
broker服务器操作系统:centos7
broker服务程序:EMQX
虚拟机IP地址:192.168.89.82

安装EMQX

在自己的虚拟机环境下进行安装,按照EMQX官方资料操作即可,步骤如下:

[root@centos7-82 ~]# cd /usr/src
[root@centos7-82 src]# wget https://www.emqx.com/zh/downloads/broker/5.0.17/emqx-5.0.17-el7-amd64.tar.gz
[root@centos7-82 src]# mkdir -p emqx
[root@centos7-82 src]# tar -zxvf emqx-5.0.17-el7-amd64.tar.gz -C emqx
[root@centos7-82 src]# ./emqx/bin/emqx start

启动后,控制台日志如下:
在这里插入图片描述
可以看下emqx端口:
在这里插入图片描述浏览器访问地址如下:http://192.168.89.82:18083/ 默认的用户名密码为admin、public,第一次登录后会首先要求修改密码。

java集成

为了快速体验,直接一个springboot工程里既有发布客户端也有订阅客户端。

添加依赖

    <dependency><groupId>org.eclipse.paho</groupId><artifactId>org.eclipse.paho.client.mqttv3</artifactId><version>1.2.5</version></dependency>

mqtt配置参数

mqtt.broker=tcp://192.168.89.82:1883
mqtt.username=admin
mqtt.password=admin

发布组件

@Component
public class PublishSample {private static final Logger log = LoggerFactory.getLogger(PublishSample.class);@Autowiredpublic MqttPropertiesConfig mqttPropertiesConfig;public void sentMsg(String content, String clientId, String topic, int qos){try {MqttClient mqttClient = new MqttClient(mqttPropertiesConfig.getBroker(), clientId, new MemoryPersistence());// 连接参数MqttConnectOptions mqttConnectOptions = new MqttConnectOptions();// 设置用户名和密码mqttConnectOptions.setUserName(mqttPropertiesConfig.getUsername());mqttConnectOptions.setPassword(mqttPropertiesConfig.getPassword().toCharArray());mqttConnectOptions.setConnectionTimeout(60);mqttConnectOptions.setKeepAliveInterval(60);// 连接mqttClient.connect(mqttConnectOptions);// 创建消息并设置 QoSMqttMessage message = new MqttMessage(content.getBytes());message.setQos(qos);// 发布消息mqttClient.publish(topic, message);log.info("Message published");log.info("topic: {}", topic);log.info("message content: {}", content);// 关闭连接mqttClient.disconnect();// 关闭客户端mqttClient.close();} catch (MqttException e) {throw new RuntimeException(e);}}}

订阅组件

@Component
public class SubscribeSample {private static final Logger log = LoggerFactory.getLogger(SubscribeSample.class);@Autowiredpublic MqttPropertiesConfig mqttPropertiesConfig;public void subTest(String clientId, String topic, int qos){try {MqttClient client = new MqttClient(mqttPropertiesConfig.getBroker(), clientId, new MemoryPersistence());// 连接参数MqttConnectOptions options = new MqttConnectOptions();options.setUserName(mqttPropertiesConfig.getUsername());options.setPassword(mqttPropertiesConfig.getPassword().toCharArray());options.setConnectionTimeout(60);options.setKeepAliveInterval(60);// 设置回调client.setCallback(new MqttCallback() {public void connectionLost(Throwable cause) {log.info("connectionLost: {}", cause.getMessage());}public void messageArrived(String topic, MqttMessage message) {log.info("topic: {}", topic);log.info("Qos: {}", message.getQos());log.info("message content: {}", new String(message.getPayload()));}public void deliveryComplete(IMqttDeliveryToken token) {log.info("deliveryComplete---------{}", token.isComplete());}});client.connect(options);client.subscribe(topic, qos);} catch (Exception e) {e.printStackTrace();}}
}

测试接口

@RestController
public class TestController {private static final Logger log = LoggerFactory.getLogger(TestController.class);@Autowiredpublic PublishSample publishSample;@Autowiredpublic SubscribeSample subscribeSample;/*** 发布接口* @param content* @return*/@RequestMapping("sent")public String sent(String content){String clientId = "lizx_pub_client1";int qos = 0;String topic = "mqtt/test";log.info("sent");publishSample.sentMsg(content, clientId, topic, qos);return "success";}/*** 模拟订阅客户端1* @return*/@RequestMapping("sub1")public String sub1(){String clientId = "lizx_sub_client1";int qos = 0;String topic = "mqtt/test";log.info("sub1");subscribeSample.subTest(clientId, topic, qos);return "success";}/*** 模拟订阅客户端2* @return*/@RequestMapping("sub2")public String sub2(){String clientId = "lizx_sub_client2";int qos = 0;String topic = "mqtt/test";log.info("sub2");subscribeSample.subTest(clientId, topic, qos);return "success";}
}

接口测试

直接简单浏览器两个标签页分别输入:
http://127.0.0.1:8080/sub1
http://127.0.0.1:8080/sub2
然后再打开一个标签页输入:
http://127.0.0.1:8080/sent?content=Hello%20MQTT
后台日志如下:

2023-02-14 16:19:39.970  INFO 5708 --- [nio-8080-exec-1] com.lizx.emqx.client.web.TestController  : sub1
2023-02-14 16:19:46.651  INFO 5708 --- [nio-8080-exec-2] com.lizx.emqx.client.web.TestController  : sub2
2023-02-14 16:19:50.384  INFO 5708 --- [nio-8080-exec-3] com.lizx.emqx.client.web.TestController  : sent
2023-02-14 16:19:50.697  INFO 5708 --- [nio-8080-exec-3] c.lizx.emqx.client.sample.PublishSample  : Message published
2023-02-14 16:19:50.698  INFO 5708 --- [nio-8080-exec-3] c.lizx.emqx.client.sample.PublishSample  : topic: mqtt/test
2023-02-14 16:19:50.703  INFO 5708 --- [izx_sub_client2] c.l.emqx.client.sample.SubscribeSample   : topic: mqtt/test
2023-02-14 16:19:50.703  INFO 5708 --- [izx_sub_client1] c.l.emqx.client.sample.SubscribeSample   : topic: mqtt/test
2023-02-14 16:19:50.705  INFO 5708 --- [nio-8080-exec-3] c.lizx.emqx.client.sample.PublishSample  : message content: Hello MQTT
2023-02-14 16:19:50.705  INFO 5708 --- [izx_sub_client2] c.l.emqx.client.sample.SubscribeSample   : Qos: 0
2023-02-14 16:19:50.705  INFO 5708 --- [izx_sub_client1] c.l.emqx.client.sample.SubscribeSample   : Qos: 0
2023-02-14 16:19:50.706  INFO 5708 --- [izx_sub_client2] c.l.emqx.client.sample.SubscribeSample   : message content: Hello MQTT
2023-02-14 16:19:50.706  INFO 5708 --- [izx_sub_client1] c.l.emqx.client.sample.SubscribeSample   : message content: Hello MQTT
http://www.yayakq.cn/news/966129/

相关文章:

  • 视频在线制作网站用dw做网站怎么做出下拉菜单
  • 什么是部署php网站跨境电商免费平台有哪些
  • wordpress网站可以显示中文和英文最成功的网络营销案例
  • 河南最近的热搜事件网站海外推广谷歌seo方案
  • 临沂网站建设厂家我为群众办实事项目清单
  • 开发网站心得建设网站好学吗
  • 百度电脑版登录网站宁夏做网站的公司
  • 电路板东莞网站建设付钱做编程题目的网站
  • 网站html地图导航代码大全视频格式转换网页版
  • 包包17网站一起做网店做网站需要企业
  • 深圳南山企业网站建设报价wordpress只显示首页
  • 门户网站的首页模板如何选择合肥网站建设
  • 金华建设监理协会网站新网站建设方案ppt
  • 企业网站建设专业成都网站内容策划
  • 学院网站设计流程网站建设黄页免费在线观看
  • 深圳网站的优化阿里云购买网站空间
  • 网站轮播图怎么保存销售管理系统介绍
  • 做网站建设销售途径seo关键词挖掘工具
  • opencart做外贸网站怎样做歌手的网站
  • 网站开发需要什么东西中山石岐网站建设
  • 搜索引擎网站的搜素结果有何区别深圳十大平面设计公司排名
  • 建设银行网站未响应有什么页游传奇平台好
  • 网站建设的格式三明seo优化
  • php网站有点自己如何做购物网站
  • 好用的建筑设计网站网站开发技术的背景
  • 做plc课程设计的网站重庆建设工程安全监督信息网官网
  • 在北京做网站制作一个月多少钱收录平台
  • 企业培训网站模板做网站要什么知识条件
  • 梧州专业网站推广wordpress网站维护
  • 中国公路建设行业协会网站上wordpress二次元博客模板