提升 ASIO async_tcp_echo_server的例子
boost asio async_tcp_echo_server example
我正在从提升站点查看此示例(出于学习目的(:
https://www.boost.org/doc/libs/1_66_0/doc/html/boost_asio/example/cpp11/echo/async_tcp_echo_server.cpp
总的来说,我添加了一些线程来运行io_context。
我实现的行为是,我有多个线程侦听套接字,每个线程等待工作并执行整个工作 a-z,因此,如果我的所有线程都忙于工作并且另一个客户端向服务器发送一些文本,他将挂起,直到某个线程再次可用。
我希望 1 个线程侦听套接字并将所有工作排队,以及一个线程池来处理所有工作。
如果我理解正确,我不需要在 main 中创建一个线程池,而是保持原样,只有主线程接受连接并使用服务器中的线程池进行另一个io_context,并以某种方式使所有会话都使用此池,我不知道如何写这个。
我仍然不明白如果我不将其传递给会话,每个会话如何知道它使用哪个io_context。
套接字存储执行器。该执行人指的是io_context
。
在较旧的 Boost 版本中,套接字将直接存储对io_service
的引用。
相关文章:
- 通过套接字[TCP]传输数据 如何在C / C ++中打包多个整数并使用send() recv()传输数据
- VSOMEIP-2个设备之间的通信(TCP/UDP)不工作
- 是否可以用"iostream"包装现有的TCP/OOpenSSL会话
- 我可以与 python 服务器而不是 c++ 客户端建立 tcp/ip 套接字吗?
- 提升 Asio TCP 服务器 处理多个客户端
- 通过TCP的PvP通信问题
- C++ boost::asio::ip::tcp::acceptor 有时不接受连接器?
- VisualStudio:使用 Suse Enterprise Server 12 SP5 时,不会下载远程库标头
- AWS IoT 开发工具包:通过 TCP 端口 443 使用 MQTT
- 计算出有多少客户端可以连接到我正在使用的一些tcp服务器代码
- 通过单独的 tcp 流建立 http 连接
- 读取 TCP 标头并使用RAW_SOCKET管理 TCP 连接
- C++ TCP 套接字通信 - 连接按预期工作,几秒钟后失败,没有收到新数据,read() 和 recv() 块
- grpc 的 ServerBuilder::AddListeningPort() 总是返回 TCP 端口零
- TCP 服务器的异步读取使用 boost::asio 打印客户端套接字发送的数据
- 如何在没有侦听器的情况下创建 TCP 连接?
- TCP-Server以数据包结构(非Java客户端)发送文件
- boost/asio async_read() TCP Server - 了解 Linux 上的 io_service.
- 在c++ winsock server中结合TCP和UDP
- Mac上使用Qt的Boost Tcp-Asio-Server链接失败