小编tob*_*oby的帖子

提升asio缓冲区的懒惰分配

异步操作.

现在我传递预分配的字节缓冲区,例如:

s.async_receive_from(
    boost::asio::buffer( preallocated_pointer, preallocated_size ),
    _remote_endpoint,
    boost::bind(...)
    );
Run Code Online (Sandbox Code Playgroud)

是否可以为此呼叫和其他呼叫进行延迟分配?

c++ boost boost-asio

3
推荐指数
1
解决办法
1586
查看次数

关闭后提升 asio async_connect 成功

单线程应用程序。

它不是每次都发生,只有在高负载 1.5 小时后才会发生。

  1. tcp::socket::async_connect
  2. tcp::socket::close(通过deadline_timer)
  3. async_connect_handler 给出成功 error_code (一百万次之一),但套接字被(2)关闭。99.999% 的时间它给出 errno=125 (ECANCELED)。

套接字实现或 boost asio 是否有可能以某种方式执行此操作:

  1. 异步连接
  2. 异步成功发布到 io_service
  3. 定时关闭
  4. 异步成功由我处理,不受关闭影响

现在通过在我的变量中保存状态来解决,忽略接受成功。

Linux 2.6 (fedora)。提升 1.46.0

PS:当然可能有我的错误......但如果不是这样的话,它可以顺利运行几天。

c++ sockets boost boost-asio

1
推荐指数
1
解决办法
5415
查看次数

标签 统计

boost ×2

boost-asio ×2

c++ ×2

sockets ×1