gpt4 book ai didi

c++ - sockets和timer如何互不阻塞地使用?

转载 作者:太空宇宙 更新时间:2023-11-04 12:13:19 24 4
gpt4 key购买 nike

我的项目是一个作业服务器,它将 UDP 接收到的命令存储在一个队列中。每个命令都有一个要执行的间隔值和一个要删除的超时值。这些操作由必须独立于服务器代码运行的计时器控制,例如 2 个进程。

让服务器和计时器在不互相阻塞的情况下运行的最佳方法是什么?我正在考虑线程或异步调用,但我是 C++ 的新手,我不知道如何在我的代码中应用这些想法。

我使用的是 Visual C++ 2010 和来自 Boost 1.48 的 ASIO。

谢谢!

最佳答案

您可以使用 Boost ASIO 安排一个异步(非阻塞)deadline_timer,如下所述:http://www.boost.org/doc/libs/1_48_0/doc/html/boost_asio/tutorial/tuttimer2.html

我假设您已经在使用 ASIO 进行 UDP 通信(因为您同时提到了两者)——现在只需在事件循环中安排您需要的计时器,一切都应该正常工作。

关于c++ - sockets和timer如何互不阻塞地使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8866428/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com