c++ - 如何将 Boost::ASIO 与用户层网络堆栈集成?

标签 c++ boost asio dpdk

有没有办法将 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/

相关文章:

c++ - 用 "pure"C++11 替代方案替换 BGL 遍历顶点?

c++ - Boost 的 TCP basic_resolver_query 构造函数的参数

c++ - 发送大数据时增强数据包之间丢失的asio tcp数据

c++ - 多线程 TCP 网络的性能

c++ - 为什么我不能运行目标文件?

c++ - QT 5.7 - 找不到 google/protobuf 文件 - 包含 PATH 错误

c++ - 使用带有 pure_out_value 策略的 std::string& Reference 的 Luabind 函数不可能吗?

c# - Asio,c#,同时从麦克风和线路输入录制声音

c++ - 构造关联容器

c++ - C++/C 中有类似方法/函数哨兵的东西吗?