我需要创建一个服务器,以便监听和响应UDP数据包,它将监听10个端口。这些数据包非常小,不超过20字节。每个数据包都会修改或搜索巨大的哈希表。但是,它必须每秒处理15k个数据包。我可以使用c、c++或qt进行开发。有没有特殊的指导方针来满足这些要求?使用什么基本设计?需要使用线程吗?
select()
的“交换机循环”:
select()
来确定具有可读数据的套接字select()
结果进行调度。Boost.Asio 是可扩展的 UDP 服务器的完美选择。与直接编程到 socket APIs 相比,使用它具有几个优点: