为什么我们需要在boost中使用io_service?

InQ*_*ive 4 c++ networking boost boost-asio

我正在尝试学习Boost.asio库.现在我可以创建一个可以进行通信的客户端和服务器.

为什么我们需要定义一个io_service对象?因为如果这是套接字可用于注册/与底层操作系统通信的唯一对象类型,为什么我们必须无论如何都要定义它.套接字不能自动猜出来吗?我在这里错过了什么?

seh*_*ehe 9

你反向发现为什么单身人士不好吗?那是你的答案.

完成后,可以控制并决定在Asio中的服务之间共享多少资源.

因此,你现在可以

  • 在您的应用程序中使用Asio,即使您链接到的其中一个库也使用它
  • 使用Asio和每个线程的服务(因此不会有共享状态)或每个服务有多个线程

等等