spring boot +netty 解析国标协议(GB/T 26875.3-2011)用户信息传输装置

spring boot +netty 解析国标协议(GB/T 26875.3-2011)用户信息传输装置

demo 地址:https://gitee.com/youngki/UserSmartIot.git

1.springboot 主程序实现 CommandLineRunner ,override run方法,建立个线程去启动netty 服务端
在这里插入图片描述在这里插入图片描述
图3中HexDecode ,用到了netty自带的解码器。用传装置发送数据很快,而且消防主机挂载的节点很多,容易出现粘包。 在使用decode ,自定义的解码器将二进制流转成16进制字符串方便我们写代码。在这里插入图片描述
在这里插入图片描述
userInformationTransmissionDeviceHandler 是处理器。最终数据将会走到该类,去处理业务。建议将数据转发到mq或者kafka中在做业务逻辑处理。
在这里插入图片描述
最主要关心应用数据单元。 将应用数据发送到业务系统解析消防主机上传的数据。

1.上传建筑消防设施部件运行状态 -国标
在这里插入图片描述
在这里插入图片描述
2.消防主机操作信息
在这里插入图片描述
不会写文档。。。。。。。。。哈哈哈哈,有问题 加我q :310160433

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
实现本地电脑监控服务器端电脑监控功能 public class Client { // 入口 public static void main(String[] args) { try { int choice = JOptionPane.showConfirmDialog(null, "请求控制对方电脑", "远程控制系统-Charles", JOptionPane.YES_NO_OPTION); if (choice == JOptionPane.NO_OPTION) { return; } String input = JOptionPane.showInputDialog("请输入要连接电脑的ip(包括端口号)", "127.0.0.1:10000"); // 获取服务器的主机 String host = input.substring(0, input.indexOf(":")); // 获取服务器的端口号 String post = input.substring(input.indexOf(":") + 1); System.out.println("服务器的主机:" + host + " " + "端口号:" + post); Socket client = new Socket(host,Integer.parseInt(post)); DataInputStream dis = new DataInputStream(client.getInputStream()); JFrame jframe = new JFrame("本地监控系统 - Charles"); jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//默认关闭进程 jframe.setSize(1024, 768);// 设置窗体大小 double height = dis.readDouble(); double width = dis.readDouble(); Dimension ds = new Dimension((int)width, (int)height); //设置 jframe.setSize(ds); //将服务器图片作为背景 JLabel backImage = new JLabel(); JPanel panel = new JPanel(); //设置滚动条 JScrollPane scrollPane = new JScrollPane(panel); panel.setLayout(new FlowLayout()); panel.add(backImage); jframe.add(scrollPane); jframe.setAlwaysOnTop(true); jframe.setVisible(true); while(true){ int len = dis.readInt(); byte[] imageData = new byte[len]; dis.readFully(imageData); ImageIcon image = new ImageIcon(imageData); backImage.setIcon(image); jframe.repaint(); } } catch (Exception e) { e.printStackTrace(); } } }

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值