#include <iostream> #include <thread> #include <boost/asio.hpp> #include "tcp_service.hpp" #include "tcp_client.hpp" #include "methane_serial_port.hpp" int main() { //启动TCP服务端 std::thread service_thread([] { boost::asio::io_service io; TcpService::getInstance().start(8888); io.run(); }); // 启动TCP客户端 std::thread client_thread([] { boost::asio::io_service io; TcpClient client; // client.connect("111.198.10.15", 11647); client.connect("192.168.123.18", 9001); io.run(); }); //启动甲烷数据查询串口线程 std::thread gas_serial_port_thread([] { try { boost::asio::io_service io; //打开串口 MethaneSerialPort sp(io, "/dev/ttyUSB0", 115200); //甲烷串口 sp.read_from_port(); io.run(); } catch (std::exception &e) { std::cerr << e.what() << std::endl; } }); // 等待所有线程完成 service_thread.join(); client_thread.join(); gas_serial_port_thread.join(); return 0; }