哪位能指点JAVA如何解析IEEE协议并存入数据库?

新手上路,请多包涵

一个基于Java开发的数据采集程序,通过与DTU通讯,采集检测仪上面的数据,但是设备上是IEEE协议,无思路,求好心大神指教。

阅读 1.5k
1 个回答
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Arrays;

import org.apache.commons.codec.binary.Hex;

public class IEEEProtocolParser {
  public static void main(String[] args) throws IOException, SQLException {
    // 监听端口
    ServerSocket serverSocket = new ServerSocket(8080);
    while (true) {
      Socket socket = serverSocket.accept();
      // 接收数据
      byte[] data = new byte[1024];
      int len = socket.getInputStream().read(data);
      // 解析数据
      String hexString = Hex.encodeHexString(Arrays.copyOfRange(data, 0, len));
      // 连接数据库
      Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "user", "password");
      // 使用 PreparedStatement 执行 SQL 语句并将解析后的数据存储到数据库中
      String sql = "INSERT INTO ieee_data (hex_data) VALUES (?)";
      PreparedStatement pstmt = conn.prepareStatement(sql);
      pstmt.setString(1, hexString);
      pstmt.executeUpdate();
      // 关闭连接
      pstmt.close();
      conn.close();
      socket.close();
    }
  }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题