多线程服务器与boost.Asio

Multithreaded server with boost.Asio

本文关键字:Asio boost 服务器 多线程      更新时间:2023-10-16

我正在尝试制作一个接收许多连接并处理它的服务器。我认为这是更好的,如果我把每个连接在一个线程,但我不知道如何做到这一点,因为我仍然不知道如何告诉我的类"我收到一个新的连接,把它放入一个线程"。我很困惑,仍然没有在这里的其他帖子中找到它。请帮帮我。

奥林匹克广播服务公司。:我有一个提示,创建一堆连接,所以等待客户端,但我不想这样做,我想创建一个连接,只有当有人试图进入我的服务器

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