boost::asio::io_service
io_service类为下面的异步对象提供核心的I/O操作函数,主要用途还是用于socket编程
- boost::asio::ip::tcp::socket
- boost::asio::ip::tcp::acceptor
- boost::asio::ip::udp::socket
- boost::asio::deadline_timer
io_servie 实现了一个任务队列,io_servie最常用的两个接口是post和run,post向任务队列中投递任务,run是执行队列中的任务,直到全部执行完毕,并且run可以被N个线程调用。Io_service是完全线程安全的队列。
【示例】
该示例通过创建io_service类对象,用于监听并处理tcp::socket线程,以socket形式向远端发送数据
//**********定义一个io_service类
boost::asio::io_service ioService;
//**********定义一个socket类
//1、SendSocket为自定义的一个socket类;
//2、SendSocket(boost::asio::io_service& ioService, const std::string& _server, uint16_t _port)为该类的构造函数,进行相应的初始化操作,其中ioService是上面定义的io_service类,_server是接收socket的服务器,_port接收socket服务器的端口;
//3、socket(new tcp::socket(ioService))为启动的socket类型,此处是启用tcp类型