我正在尝试制作一个接收许多连接并处理它的服务器。我认为如果我将每个连接放在一个线程中会更好,但我不知道该怎么做,因为我仍然不知道如何告诉我的班级“我收到一个新连接,将它放入一个线程”。我很困惑,仍然没有在此处的其他帖子中找到它。请帮我。
obs:我有一个提示,它创建了一堆连接,所以等待客户端,但我不想这样做,我只想在有人试图进入我的服务器时创建一个连接。
我正在尝试制作一个接收许多连接并处理它的服务器。我认为如果我将每个连接放在一个线程中会更好,但我不知道该怎么做,因为我仍然不知道如何告诉我的班级“我收到一个新连接,将它放入一个线程”。我很困惑,仍然没有在此处的其他帖子中找到它。请帮我。
obs:我有一个提示,它创建了一堆连接,所以等待客户端,但我不想这样做,我只想在有人试图进入我的服务器时创建一个连接。
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