假设,我在 boost::asio::ip::tcp::socket 类型中分配了任何原始 fd,那么我可以再次从中检索原始 fd 以再次发送数据吗?
我的意思是,销毁 boost::asio::ip::tcp::socket 是否会确保 fd 也被关闭,如果是,那么我该如何防止它?
最佳答案
您可能应该手动创建套接字,并使用 posix::stream_descriptor
来代替:
更新:
正如文档所反射(reflect)的,(basic_)stream_descriptor
没有自定义析构函数,因此分配的 fd
不会在销毁时关闭。 (我简要检查了基类的完整性)。
关于c++ - 即使在销毁 boost::asio::ip::tcp::socket 后如何使用原始文件描述符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30976515/