假设,我在boost :: asio :: ip :: tcp :: socket类型中分配了任何原始fd,那么我可以再次从此检索原始fd以再次发送数据吗?
我的意思是对boost :: asio :: ip :: tcp :: socket的破坏确保fd也将被关闭,如果是,那我怎么能阻止它呢?
答案 0 :(得分:2)
您应该手动创建套接字,而是使用posix::stream_descriptor
代替:
<强>更新强>:
正如文档所反映的那样,(basic_)stream_descriptor
没有自定义析构函数 - 因此 - 分配的fd
将不会在销毁时关闭。 (我简要地检查了基类的完整性。)