c++ - 在客户端使用 boost 管理 1000+ 连接

标签 c++ boost boost-asio tcpclient tcplistener

我在这里使用网关模拟器,网关的目的是连接数据中心并在数据中心请求时将视频流式传输到数据中心。

这里的网关模拟器可以模拟1000个网关,也就是说每个网关都会连接到数据中心。这里我很困惑如何管理网关中的这么多套接字。

在 C++ 中,select 可用于此目的,对与数据中心的连接进行多路分解。因为在这里我可能必须创建 1000 个连接,select 是不合适的。

我发现通过采用 acceptor.async 方法管理服务器中的多个客户端,处理程序将采用该方法。

但是由于网关是客户端应用

如何管理多个连接,以便我可以从数据中心获取每个连接的请求。

网关将在 Windows 和 Linux 上运行。

最佳答案

  • Windows:WSAEventSelect
  • Linux:epoll
  • FreeBSD:kqueue

关于c++ - 在客户端使用 boost 管理 1000+ 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5431130/

相关文章:

c++ - 不静态链接到 VC CRT 的原因有哪些?

c++ - 是否可以将多态类存储在共享内存中?

c++ - 如何使用已经存在的 tcp::socket 创建一个 tcp::iostream?

c++ - 消除重载方法歧义失败

c++ - 将 boost::asio tcp 示例移植到 C++11

c++ - 移植到windows时程序崩溃

c++ - "hand-rolled"vtable 方法的优点是什么?

c++ - 如果 C++ 使用 cdecl 调用约定,为什么 godbolt 显示在 edi 中传递的参数?

c++ - STL 或 Boost 能否帮助按值对 map 进行排序?

c++ - 自定义 Web 服务中的 boost::asio::read() 阻塞