使用 boost asio 重用套接字

2023-12-11

我尝试使用 boost asio 套接字,绑定到本地地址/端口组合。效果很好。不起作用的是,一旦套接字和应用程序停止并重新启动,就重新使用套接字。

    //
    // open the socket - it would also be opened by the async_connect() 
    // method but we might need an open socket to bind it
    _socket.open(boost::asio::ip::tcp::v4());

    if ( _bindLocal ) {
        boost::asio::socket_base::reuse_address option(true);
        _socket.set_option(option);
        _socket.bind( _localEndpoint );
    }

    // Invoke async. connect. Immediate return, no throw.
    _socket.async_connect(_remoteEndpoint,
        boost::bind(&MyTransceiver::handleConnect, this,
            boost::asio::placeholders::error));

我缺少什么? open()、set_option() 和bind() 调用的顺序是否正确?


代码看起来不错。尝试使用 error_code 来获取 set_option() 调用的结果。

boost::system::error_code ec;
_socket.set_option(boost::asio::socket_base::reuse_address(true), ec);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 boost asio 重用套接字 的相关文章

随机推荐

  • python 中的闭包?

    当我运行此代码时 我得到以下结果 15 15 我期望输出应该是 15 17 但事实并非如此 问题是 为什么 def make adder and setter x def setter n x n return lambda y x y s
  • 如何使用 Python NLTK 计算 WordNet 中两个形容词之间的最短路径(测地线)距离?

    使用几个内置的相似性度量可以轻松计算 WordNet 中两个同义词集之间的语义相似性 例如 synset1 path similarity synset2 synset1 lch similarity synset2 Leacock Cho
  • 我可以获取由“pyplot.subplots”在其创建的图形的构造函数内返回的轴吗?

    我在调用 pyplot 时使用自定义图形类subplot fig ax matplotlib pyplot subplots FigureClass MyFigure 并想使用轴对象 ax 通常由subplot 在自定义图窗类的构造函数中
  • 检查函数是否存在于容器类中的 C++ 概念和隐式推导规则

    我试图弄清楚如何做一些对我来说在概念和模板类型 如 std vector 方面似乎很棘手的事情 我正在尝试应用类似于我在 T 上使用 std movable 的编译时间约束 但在 C 上使用 PushBackMovable 它与函数 dec
  • .NET 路径操作库

    有谁知道有什么好的库可以以一种很好的方式抽象路径操作问题吗 我希望能够使用任意分隔符 例如 或 组合和解析路径 而无需重新发明轮子 遗憾的是System IO Path不是更可重用 Thanks System IO Path Combine
  • Rails 3 - 嵌套资源路由 - 一对一关系

    某些嵌套资源路由遇到一些问题 我想做的是链接到用户的个人资料页面以进行编辑 在我看来 它写成 哪个错误出现 No route matches action gt edit controller gt profiles user id gt
  • 添加复选框以自动完成 -jQuery

    我正在编写这段代码 并使用 jQuery UI 进行自动完成 现在我需要一些帮助来添加复选框 以便我可以进行多项选择 并且它以逗号分隔反映在我的字段中 我找到了一个正是我想要创建的插件 但我不想在 我的工作 中使用任何插件http www
  • 如何在r中将数字转换为儒略日期?

    day lt c seq 1 10592 by 1 如何将 日 更改为儒略日期格式 从 1982 年 1 月 1 日到 2010 年 12 月 31 日 提前致谢 Try help search Julian 有一个函数julian 所以给
  • 如何在 Mongo 中执行“NOT IN”查询?

    这是我的文档 title Happy thanksgiving body come over for dinner blocked user 333 name john user 994 name jessica user 11 name
  • Android应用程序没有启动图标

    我已经组装了一个简单的应用程序 当我安装该应用程序时 会显示图标 但安装后就没有启动图标 这是我的 AndroidManifest xml
  • 本地主机的 Google 地图 API 密钥

    如何让 Google 地图 API 密钥在本地主机上工作 我创建了一个 API 密钥 并在引荐来源网址下添加了以下内容 Accept requests from these HTTP referrers websites Optional
  • 如何在 Chartist.js 中使用插件?

    我正在使用 Chartist js 制作饼图组件 我想使用图例插件https codeyellowbv github io chartist plugin legend 我的饼图中没有得到图例 请参阅下面的屏幕截图 Code import
  • 多线程中boost asio中的随机EOF

    我对 boost asio 还很陌生 我正在经历随机文件结尾在多线程服务器中 我可以在这个小例子中重现我的问题 Server 这是一个简单的回显服务器 该协议很简单 1 客户端连接 2 服务器读取一个字节 该字节是要读取和发回的字符串的长度
  • 如何更改 Windows 8 动态磁贴文本颜色?

    我正在创建一个 Windows 8 应用程序 我想在其中更改活动磁贴的前景 我找到了一个模板集但没有找到任何方法来改变动态图块的文本颜色 我在我的应用程序中编写了以下模板代码
  • 禁用元素属性排序

    有没有办法禁用元素属性的排序 以便当 allowedContent 设置为 true 时 checkDirty 能够正常工作 属性排序示例here div simplesimple div 即使用户实际上没有更改 ckeditor 用户界面
  • 在函数中更新 matplotlib 图像

    我有一个处理图像的循环 我希望在每 100 次迭代时使用 matplotlib 在单个输出窗口中显示图像 所以我试图编写一个函数 它将采用 numpy 张量作为输入并显示相应的图像 这是我所拥有的不起作用的内容 def display im
  • Nokogiri 可以搜索“?xml-stylesheet”标签吗?

    我需要解析 XML 样式表 使用 Nokogiri 我尝试过 doc search xml stylesheet first href 但我收到错误 on error unexpected after Nokogiri CSS Syntax
  • 如何在实体框架中访问context.Database.SqlQuery?

    我正在尝试遵循本教程 http blogs msdn com b diego archive 2012 01 10 how to execute stored procedures sqlquery in the dbcontext api
  • 无法将文件从 docker-compose 挂载复制到主机

    我无法将 Selenium 测试生成的文件复制到安装到主机的 docker 容器内的文件夹中 这是我的撰写文件的样子 selenium image selenium standalone chrome expose 4444 tests b
  • 使用 boost asio 重用套接字

    我尝试使用 boost asio 套接字 绑定到本地地址 端口组合 效果很好 不起作用的是 一旦套接字和应用程序停止并重新启动 就重新使用套接字 open the socket it would also be opened by the