多线程服务器与boost.Asio
Multithreaded server with boost.Asio
我正在尝试制作一个接收许多连接并处理它的服务器。我认为这是更好的,如果我把每个连接在一个线程,但我不知道如何做到这一点,因为我仍然不知道如何告诉我的类"我收到一个新的连接,把它放入一个线程"。我很困惑,仍然没有在这里的其他帖子中找到它。请帮帮我。
奥林匹克广播服务公司。:我有一个提示,创建一堆连接,所以等待客户端,但我不想这样做,我想创建一个连接,只有当有人试图进入我的服务器
Boost::Asio文档的异步TCP日间服务器教程详细描述了如何编写这样的服务器。
此外,在所有其他示例中还有许多多线程示例。
查看asio文档中的示例。下面的例子就是你想要的:http://www.boost.org/doc/libs/1_52_0/doc/html/boost_asio/example/echo/blocking_tcp_echo_server.cpp这会为每个连接创建一个新线程,并使用阻塞调用。
注意,您也可以使用异步调用,并在一个线程中完成所有操作。这个例子是:http://www.boost.org/doc/libs/1_52_0/doc/html/boost_asio/example/echo/async_tcp_echo_server.cpp
相关文章:
- 理解boost::asio-async_read在无需读取内容时的行为
- C++Boost Asio Pool线程,带有lambda函数和传递引用变量
- boost::asio::steady_timer()与sleep()我应该使用哪一个
- boost::asio如何生成多个协同程序,然后加入它们
- 从 Boost ASIO 获取 epoll 描述符 io_service对象
- 如何在 Boost.Asio 中使用 Zero-copy sendmsg/receive
- C++ Boost::asio串行通信与Arduino无法写入
- 如何使用 Boost Asio 在 Android 上获取我的本地 udp IP 地址?
- boost::asio UDP 广播客户端仅接收"fast"数据包
- 执行时使用 boost::asio::d eadline_timer 时出错
- Boost.Asio/OpenSSL HTTPS GET certificate trouble
- C++ boost::asio::ip::tcp::acceptor 有时不接受连接器?
- boost::asio data owning `ConstBufferSequence`
- 如何替换此示例代码片段中已弃用的handler_type_t或 boost::asio::handler_type?
- 将 boost 序列化对象的 asio::streambuf 表示转换为 Beast 的 DynamicBody req.body()
- 如何将boost::asio::d eadline_timer 与Qt一起使用?
- 将更高的优先级设置为 boost::asio 线程处理进程
- Async_read_until限制读取的字节大小(Boost::asio)
- Boost Asio - boost::bind 导致程序崩溃
- 使用Asio(Boost)通过网络发送灵活的数据量