boost模块asio、log、serial

tech2022-12-21  74

boost asio异步操作

boost::asio::io_service任务队列

run阻塞,直到所有任务完成 stop停止任务阻塞 post任务加入队列,不执行 dispatch任务加入队列,立即执行

连接状态判断

asio包含errorcode参数的函数,不会抛出异常 可以尝试connect之后,判断错误码, boost::asio::error::already_connected 则表示已经连接 断开连接使用close,is_open不表示通断,close后需要open,connect自动打开

m_socket_tclient.is_open() && error != boost::asio::error::not_connected判断连接

接收

tcp::socket m_socket_tclient; boost::asio::io_service m_io_service; tcp::acceptor server_acceptor(m_io_service, tcp::endpoint(tcp::v4(), port)); server_acceptor.accept(m_socket_tclient); boost::array<char, sizeof(PACKAGE_INFO)> buf; m_socket_tclient.read_some(boost::asio::buffer(buf), error);

thread_pool

boost::
最新回复(0)