即使在销毁boost :: asio :: ip :: tcp :: socket之后如何使用原始文件描述符?

时间:2015-06-22 09:33:32

标签: c++ sockets boost

假设,我在boost :: asio :: ip :: tcp :: socket类型中分配了任何原始fd,那么我可以再次从此检索原始fd以再次发送数据吗?

我的意思是对boost :: asio :: ip :: tcp :: socket的破坏确保fd也将被关闭,如果是,那我怎么能阻止它呢?

1 个答案:

答案 0 :(得分:2)

您应该手动创建套接字,而是使用posix::stream_descriptor代替:

<强>更新

正如文档所反映的那样,(basic_)stream_descriptor没有自定义析构函数 - 因此 - 分配的fd将不会在销毁时关闭。 (我简要地检查了基类的完整性。)