您的位置:首页 > 编程语言 > Java开发

MQTT的Java客户端 - 使用会话模式、Paho、SQLite和Swing美化包beautyeye

2019-07-17 20:28 10 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/XiaoYuHaoAiMin/article/details/96357105

这是一个用Java写的有会话模式的MQTT客户端,用到了JavaSwing、SQLite、Paho、Beautyeye等技术。界面简洁清新,有MQTT的基本功能,有会话模式,可以在同一主题下会话,可以设置账号、密码、ID、遗嘱等登录初始信息。

想参加全国大学生电子设计大赛,队友抱怨用蓝牙调试每次都要连接太麻烦了,所以想用WIFI,于是想到了MQTT协议,由于MQTT客户端还没有我满意的(接触了两个,MQTT.fx、通信猫,MQTT.fx挺好的,但是不怎么懂英文,而且单片机由于内存限制,一般只定义一个主题,都没有会话模式,发主题太麻烦了),于是开始动手,花几天做了一个这个东西。

简单介绍一下,MQTT是用的paho的包,直接到官网下的,支持MQTT3.1.1,MQTT的关键部分(MqttClient类、MqttClientCallback类等)添加了中文注释,可以中英文对比,没有修改官方的代码。MQTT比较小就不裁剪了。这个有5M多(87%)都是SQLite的大小(>_<)。

SQLite的JDBC是3.27.2.1版本,官网打不开是在Bitbucket下载的。用JavaBeans做的(校企合作只学了这个,听说还有更厉害的),数据库相关全在top.luckysmile.mqtt.client.data这个包里,采用静态加载方式加载驱动,初次学Java注释比较详细。

Swing的控件命名都还算满足老师说的规范,像标签是用jlb开头,名字是用英文的,有意义的。用了JackJiang2011的beautyeye皮肤包,挺好看的。Swing的结构应该是比较清晰明了的,主界面一个Jpn,会话,登录,订阅,发布各一个Jpn,所有控件放在后4个Jpn上,会话选项卡单独一个类,一个主jpn,接收和发送各一个jpn在主jpn上。注释比较详细。

初学Java,不懂什么架构,这里简单说下我的结构。分为视图、监听、服务和数据这四个部分,其中,服务有服务管理器。视图驱动,最终回到视图,监听调用服务管理器,由服务管理器统一管理其他服务和数据。服务管理器,和两个视图操作类应该是要单例化的,但时间不够就不改了。自己写的代码全在Client里。

界面截图:

 

GitHub地址:MQTT客户端

^_^

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: