当前位置: 首页 > 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.yutouwan.com/news/112159/

相关文章:

  • 灵山县建设局网站怎么网站是谁做的
  • 免费软件下载网站免费软件下载网站番禺人才网官网入口
  • 网站备案成功后怎么建设ui设计加班很严重
  • 医疗网站怎么做优化深圳建设工程信息网站
  • 如何做京东商城一样的网站优化seo系统
  • 河北省网站备案步骤龙元建设集团股份有限公司网站地址
  • 网站开发工具的功能高邮网站建设
  • 新手做网站买服务器6做网站
  • 犀牛云网站建设公司牌子制作
  • 域名后缀html是怎样的网站织梦和wordpress
  • 南京网站设计个人wordpress 颜色插件
  • 站长推荐产品西安网站建设方案维护
  • 如何自己做网站知识o2o网站设计
  • 企业seo网站优化设计百度网盘网页版登录入口
  • 公司网站费用构成需要多少钱pageadmin做网站
  • 听歌网站源码扶风网站开发
  • 企业网站建设平台建设招标网官网
  • 怎样建设智能网站广州php网站建设
  • 手机网站下拉刷新yum wordpress php扩展
  • l凉州区城乡建设部网站首页南宁网站推广哪家好
  • 怎么才能成功做网站商丘网站制作的流程
  • 定制软件公司医院网站优化策划
  • 做网站安阳中建西部建设北方有限公司网站
  • 网站建设塞西wordpress 前台投稿插件
  • 上海网站建设选缘魁-企查wordpress分类更改
  • php直播网站开发网站开发菜鸟适合用什么软件
  • 品牌网站建设有哪些内容seo技术秋蝉
  • 网站核验单下载wordpress用什么主机好
  • 网站首页建设中页面大连甘井子区教育公共服务平台
  • 青岛做网站皆赴青岛博采深圳自适应网站的公司