有没有办法将 Boost::ASIO 与用户层网络堆栈(例如 F-stack 或 DPDK)集成?
我正在寻找一种方法来获得用户层堆栈的性能优势,但维护 Boost::ASIO 的 API,以便能够使用用它编写的所有库等。
最佳答案
基本上,如果不存在这样的包装器,您将必须实现低级接口(interface)和套接字,即那些使用 boost::asio 套接字(基本上在 IO 服务内部)抽象 TCP 和 UDP 详细信息的代码。
我不知道你想使用哪个库。所以,这可能需要相当大的努力。
看看 boost::asio basic_datagram 套接字、解析器、端点和 service 。您至少需要翻译重要部分(性能),例如发送和接收。如果您的库有一个通过该句柄发送和接收的接口(interface),您可以通过 boost 访问套接字的 native 句柄,您可能只需要覆盖所有发送和接收函数。只需处理外部发送/接收即可。
关于c++ - 如何将 Boost::ASIO 与用户层网络堆栈集成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50811011/