为什么要使用mqtt服务器?
在flutter中,官方已提供websocket插件用于实现长服务器连接。但在物联网场景中,mqtt是一道迈不过去的坎。可以这样说,做物联网不懂mqtt就和厨师不会炒菜一样。在物联网开发中,要实现app和硬件设备直接通讯,就需要使用mqtt协议。另一个就是,mqtt服务器是一个非常成熟的轮子,直接拿来用就可以了,在一些非物联网场景也可以拿使用mqtt。比如站内通通讯,站内消息推送等。更多关于mqtt的应用场景,请自行查阅官方文档。
用到的插件:
mqtt_client | Dart Package (pub.dev)pub.devmqtt插件常用方法:
设置mqtt连接参数:
MqttServerClient client = MqttServerClient.withPort('192.168.199.24', 'cccccwewew', 1883);
client.onConnected = onConnected; //连接成功回调
client.onDisconnected = onDisconnected; //连接断开回调
client.onSubscribed = onSubscribed; //订阅成功回调
client.onSubscribeFail = onSubscribeFail; //订阅失败回调
client.onUnsubscribed = onUnsubscribed; //取消订阅回调
client.pongCallback = pong; //收到 PING 响应回调
client.logging(on: false); //设置是否登陆,这里设置为不验