在Boost.Asio中释放套接字(与assign相反),或者不转移所有权

Art*_*yom 6 c++ sockets boost boost-asio

在Boost.Asio套接字中有一个函数赋值,但我正在寻找类似的东西

  • 释放/取消分配将套接字上的所有权转移回用户.

要么

  • 某种类型的赋值不会将所有权转移到套接字类,因此它不会在销毁时关闭它.

我知道这个解决方案,但它涉及复制套接字(即创建新的描述符而不是释放一个).

有谁知道怎么做?

编辑:没有这样的功能,为Boost打开了门票.Asio https://svn.boost.org/trac/boost/ticket/3900

sve*_*erw 1

我在 .hpp 文件(Boost 1.35)中找不到任何这样的方法,所以我认为你必须自己修补 ASIO 并添加一个release()方法。完成后,您可以自己保留补丁,将其发布到您的网站(或此处),或将其提交回 Boost。

请尝试 Boost 邮件列表。那里的人可能会告诉你这种方法是好是坏,以及为什么。如果您在那里发现任何有趣的内容,请在此处发布摘要。

顺便说一句:Boost 1.42 昨天发布了。