boost::asio::io_service任务队列
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);