使用 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 重用套接字 的相关文章

  • 如何使用 netcat 发送文件并保持连接?

    我发出命令 netcat serveraddress myport lt MY FILE 问题是 一旦文件发送完毕 netcat 就会发送一条消息来关闭连接 发送该文件后 我需要从控制台写入消息 我记得对标准输入做了一些事情 是这样的吗 n
  • SO_BINDTODEVICE Linux 套接字选项的问题

    我有一台带有两个网卡的电脑 一 eth0 用于 LAN 互联网 另一个用于与一个微控制器设备进行 UDP 通信 微控制器有一个 IP 192 168 7 2 和一个 MAC 地址 第二个电脑网络适配器 eth1 有 192 168 7 1
  • 在本地主机上使用相同的 IP 和端口创建套接字

    我在 Linux 上看到奇怪的行为 我看到远程端和本地端都显示相同的 IP 和端口组合 以下是 netstat 输出 netstat anp 网络统计grep 6102 tcp 0 0 139 185 44 123 61020 0 0 0
  • lua-socket:unix 域套接字?

    我使用的是 lua socket 3 0rc1 3 Ubuntu Trusty 附带的 和 lua 5 1 我正在尝试监听 unix 域套接字 我能找到的唯一示例代码是this http lua users org lists lua l
  • boost::make_zip_iterator 的 decltype?

    我有以下代码 std vector
  • Chrome 在传输一定量的数据后挂起 - 等待可用的套接字

    我有一个浏览器游戏 最近我开始向游戏添加音频 Chrome 无法加载整个页面并卡在 91 requests 8 1 MB transferred 并且不再加载任何内容 它甚至破坏了所有其他选项卡中的网站 说Waiting for avail
  • 将一个整数从 C 客户端发送到 Java 服务器

    我使用此代码将一个整数从我的 Java 客户端发送到我的 Java 服务器 int n rand nextInt 50 1 DataOutputStream dos new DataOutputStream socket getOutput
  • 使用套接字和 AsyncTask 强制关闭

    堆栈的人们大家好 请参阅下面我的班级代码和我的 LogCat 尝试连接时我受到强力关闭 如果有人能帮助我找出原因 我将不胜感激 基本上代码的作用是 从意图中获取 IP 地址 连接到端口 32 的 IP 然后发送一个命令 等待响应并发送另一个
  • 取消后调用 boost::asio 异步处理程序没有错误

    我的代码在单个线程中使用 boost asio 和 io service 来执行各种套接字操作 所有操作都是异步的 每个处理程序都依赖于boost system error code 特别boost asio error operation
  • Android设备到PC的socket连接

    我面临着建立从 Android 设备到 PC 的特定端口的套接字连接的问题 例如8080 我只想创建一个套接字 它将连接到特定端口并在该端口上写入一些数据流 我为此目的编写了一些代码 但代码给了我一个例外 TCP Error java ne
  • 无法通过套接字“/var/lib/mysql/mysql.sock”连接到本地 MySQL 服务器 (2)

    当我尝试连接 mysql 时出现以下错误 Can t connect to local MySQL server through socket var lib mysql mysql sock 2 这个错误有解决办法吗 其背后的原因可能是什
  • 在库的公共接口中使用 boost::shared_ptr

    我们有一个 C 库 提供给多个不同的客户 最近 我们从在公共接口中使用原始指针改为使用 boost sharedptr 正如您可能猜到的那样 这提供了巨大的好处 因为现在客户不再需要担心谁需要删除什么以及何时删除 当我们进行切换时 我相信这
  • 如何在Windows上模拟socket.socketpair

    标准Python函数套接字 套接字对 https docs python org 3 library socket html socket socketpair不幸的是 它在 Windows 上不可用 从 Python 3 4 1 开始 我
  • 对卡在 CLOSE_WAIT 状态的连接进行故障排除

    我有一个在 Windows 上的 WebLogic 11g 中运行的 Java 应用程序 几天后它变得没有响应 我注意到的一个可疑症状是大量连接 大约 3000 个 出现在netstat即使服务器空闲 也具有 CLOSE WAIT 状态 由
  • 使用 Boost::Spirit 解析 time_period 表达式

    我需要使用 Boost Spirit 解析以下 EBNF 表达式 period date part time part date part time part time part hours minutes seconds date par
  • UDP SocketException - 通常只允许每个套接字地址使用一次

    尽管这里有很多非常相似的问题 但提供的答案都没有帮助我 这让我很难过 我有一个非常大的管理系统 我的任务是为其编写一些 UDP 数据包发送 接收 我已经编写了一个原型 一切都很好 所以我开始将我的代码合并到所述系统中 然而 我现在弹出了一个
  • Shared_ptr 在哪里?

    经过几个小时试图找到shared ptr 所在的位置后 我现在非常沮丧 我看到的示例都没有显示包含标头的完整代码shared ptr 和工作 简单说明一下std tr1 and
  • 如何在提升日期时间中忽略周末和节假日?

    第一个问题 我有一个提升日期对象 如下所示 boost gregorian date 今天 2012 02 13 我从今天减去日期部分 如下所示 今天 月 240 或今天 天 X 等 我想在进行上述减法时是否有办法排除周末和特殊假期 我的意
  • 通过套接字的身份验证方法

    我正在尝试通过套接字进行身份验证sailsjs and passport 挑战似乎在于套接字连接没有会话 并且 sailsjs 模拟请求对象 导致它没有 Passport 中间件设置 这导致nodejs抛出一个错误 说req对象没有调用的方
  • 线程安全的 C++ 堆栈

    我是 C 新手 正在编写一个多线程应用程序 不同的编写者将对象推入堆栈 读者将它们从堆栈中拉出 或至少将指针推入对象 C 中是否有任何内置结构可以在不添加锁定代码等的情况下处理此问题 如果没有 那么 Boost 库呢 EDIT 你好 感谢您

随机推荐

  • 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