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

宠物网站建设论文传媒公司取名字大全

宠物网站建设论文,传媒公司取名字大全,深圳市手机网站建设报价,网站开发多语言1.添加依赖: 首先#xff0c;需要在Flutter项目的​​pubspec.yaml​​​文件中添加​​mqtt_client​​依赖。 dependencies:#https://pub.dev/packages/mqtt_clientmqtt_client: ^10.0.02.创建MQTT客户端并连接到MQTT服务器:2.创建一个MQTT客户端实例来进行连接和通信 Fu…1.添加依赖: 首先需要在Flutter项目的​​pubspec.yaml​​​文件中添加​​mqtt_client​​依赖。 dependencies:#https://pub.dev/packages/mqtt_clientmqtt_client: ^10.0.02.创建MQTT客户端并连接到MQTT服务器:2.创建一个MQTT客户端实例来进行连接和通信 FutureMqttServerClient connect(String cid) async {print(mqtt connect host $host cid $cid );MqttServerClient client MqttServerClient.withPort(host, cid, port);client.logging(on: true);client.onConnected onConnected;client.onDisconnected onDisconnected;client.onUnsubscribed onUnsubscribed;client.onSubscribed onSubscribed;client.onSubscribeFail onSubscribeFail;client.pongCallback pong;final connMessage MqttConnectMessage().authenticateAs(user, pwd).keepAliveFor(60)// 保持连接时间单位为秒.withWillTopic(willtopic).withWillMessage(Will message).startClean()// 清理会话.withWillQos(MqttQos.atLeastOnce);client.connectionMessage connMessage;try {await client.connect();} catch (e) {print(Exception: $e);client.disconnect();}return client;}其中host 是主机名port是端口号cid是客户端ID你可以根据需要为其分配一个唯一的标识。 3.订阅主题: 一旦连接到MQTT服务器你可以订阅感兴趣的主题以接收消息。以下是订阅主题的示例代码 //用于监听已订阅主题的消息到达。 client.updates?.listen((ListMqttReceivedMessageMqttMessage c) {final MqttPublishMessage recMess c[0].payload as MqttPublishMessage;final String pt MqttPublishPayload.bytesToStringAsString(recMess.payload.message);// 解码包含中文字符的字符串final String decodedString utf8.decode(pt.codeUnits);LogI(Received message: $decodedString from topic: ${c[0].topic});});通过​​client.subscribe​​​方法订阅一个主题并使用​​client.updates​​流来监听接收到的消息。 4.发布消息: 使用MQTT客户端来发布消息到特定的主题。以下是发布消息的示例代码 final MqttClientPayloadBuilder builder MqttClientPayloadBuilder(); builder.addString(Hello from Flutter);client.publishMessage(your_topic, MqttQos.exactlyOnce, builder.payload);在上面的代码中使用​​MqttClientPayloadBuilder​​​来构建消息的有效载荷然后使用​​client.publishMessage​​方法来发布消息到指定的主题。 5.断开连接: 当你不再需要与MQTT服务器通信时记得断开连接以释放资源 client.disconnect();完整代码 class XMqttClient {static final XMqttClient _instance XMqttClient._();static XMqttClient get instance _instance;static const host 139.196.xx.xx;//替换成你自己的主机static const port 1883;//端口号static const user admin;//用户static const pwd public;//密码ListString topics [];MqttClient? client;XMqttClient._() {_initMqtt();}_initMqtt() async {//clientld 确保唯一性否则如果两台机器的clientld 相同 则会连上立刻断开连接String clientId ${DateTime.now().millisecondsSinceEpoch}asc;client await connect(clientId);}FutureMqttServerClient connect(String cid) async {print(mqtt connect host $host cid $cid );MqttServerClient client MqttServerClient.withPort(host, cid, port);client.logging(on: true);client.onConnected onConnected;client.onDisconnected onDisconnected;client.onUnsubscribed onUnsubscribed;client.onSubscribed onSubscribed;client.onSubscribeFail onSubscribeFail;client.pongCallback pong;final connMessage MqttConnectMessage().authenticateAs(user, pwd).keepAliveFor(60)// 保持连接时间单位为秒.withWillTopic(willtopic).withWillMessage(Will message).startClean()// 清理会话.withWillQos(MqttQos.atLeastOnce);client.connectionMessage connMessage;try {await client.connect();} catch (e) {print(Exception: $e);client.disconnect();}//用于监听已订阅主题的消息到达。client.updates?.listen((ListMqttReceivedMessageMqttMessage c) {final MqttPublishMessage recMess c[0].payload as MqttPublishMessage;final String pt MqttPublishPayload.bytesToStringAsString(recMess.payload.message);// 解码包含中文字符的字符串final String decodedString utf8.decode(pt.codeUnits);LogI(Received message: $decodedString from topic: ${c[0].topic});});return client;}///订阅一个主题_subscribe(String topic) {client?.subscribe(topic, MqttQos.atLeastOnce);}///订阅多个主题topicSubscribe(ListString topics) async {this.topics.addAll(topics);if (client?.connectionStatus?.state MqttConnectionState.connected) {topics.forEach((topic) {_subscribe(topic);});} else {//未连接成功 每隔3s重新订阅Future.delayed(const Duration(seconds: 3), () {topicSubscribe(topics);});}}///取消订阅_unsubscribe() {client?.unsubscribe(topic/test);}///断开连接_disconnect() {client?.disconnect();}// 连接成功void onConnected() {print(连接成功);}// 连接断开void onDisconnected() {print(连接断开);}// 订阅主题成功void onSubscribed(String topic) {print(订阅主题成功: $topic);}// 订阅主题失败void onSubscribeFail(String topic) {print(订阅主题失败 $topic);}// 成功取消订阅void onUnsubscribed(String? topic) {print(成功取消订阅: $topic);}// 收到 PING 响应void pong() {print(收到 PING 响应 Ping response client callback invoked);}}
http://www.hkea.cn/news/14454441/

相关文章:

  • 辽宁省城乡和住房建设厅老网站域名注册查询批量
  • 海口房产网站建设seo网站关键词
  • 网站的按钮怎么做 视频临翔网站建设
  • 网站无障碍建设规定网站建设的实际价值
  • 网站关键词优化排名推荐青岛建站价格
  • 广州 网站的设计公司网址转换成短链接
  • 湖南做旅游网站应用下载app排行榜
  • 用响应式做旧书网站优酷视频网站源码
  • 鸣蝉建站平台网上推广平台
  • 做外贸的网站如何选择服务器网站无后台添加后台
  • 怎么用阿里云服务器做淘客网站公司商标标志设计
  • 网站运营目的网站怎么做文件下载
  • 宜兴建设局 网站网站开发是打代码吗
  • 照片网站源码模板建站
  • pc网站怎么建设流程网站建设培训东莞市
  • 怎么做网页 网站制作中国镇江网站
  • 哈尔滨网站托管可视化网页制作
  • 做网站做网站洛阳有建社网站的吗
  • 企业建设网站目的是什么seo教育培训机构
  • 广州网站制作服务做yy头像的网站
  • 公司网站 seo上海网站建设v芯ee8888e
  • 山西大同网站建设射阳建设网站哪家好
  • 氧气瓶网站建设wordpress优秀移动站点
  • 网站建设小西门高端网页设计培训
  • 网站页面布局模板中山智能设备网站建设
  • 双语版网站怎么做joomla网站如何加入会话功能
  • 区域销售网站什么做推广平台的方法
  • 学而思编程网站网站模块在线制作
  • 建设旅游网站的功能定位网站单页面制作
  • 无备案网站广告如何做电商平台投诉电话