连接“无连接” boost::asio::ip::udp::socket

2023-11-27

我最近通过浏览网络了解了 UDP 套接字,所有解释它的页面都提到 UDP 套接字是“无连接”。如果我理解正确的话,这意味着两个套接字之间没有“连接”,而是将数据报包发送到指定的端点,而不知道另一端是否正在侦听。

然后我开始阅读 boost::asio::ip::udp::socketdocs并发现它提到了 API,例如:

  • async_connect:启动异步connect.
  • async_receive:在 a 上启动异步接收连接的套接字.
  • async_send:在 a 上启动异步发送连接的套接字.

对于新手来说,这有点令人困惑。我可以找到 3 个可能导致我困惑的原因(按照可能性的顺序:))

  1. 我缺少一些东西
  2. asio 实现正在幕后做一些事情来虚拟化连接。
  3. 文档有误

当您打开页面时,文档中还有一个小故障basic_datagram_socket::async_connect那里的例子正在实例化TCP套接字(而不是UDP ones).

有人请启发我吗?


Single UNIX 规范对什么有更好的解释connect对于无连接套接字:

如果发起套接字不是连接模式,则 connect() 设置套接字的对等地址,但不会建立连接。对于 SOCK_DGRAM 套接字,对等地址标识在后续 send() 调用中所有数据报发送的位置,并限制后续 receive() 调用的远程发送方。

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

连接“无连接” boost::asio::ip::udp::socket 的相关文章

  • boost::asio::io_service 是否保留处理程序的顺序?

    Does boost asio io service http www boost org doc libs release doc html boost asio reference io service html保证处理程序的调用顺序与
  • Git在Windows中的克隆比在Linux中慢得多

    我一直在追寻 Windows 上 github 克隆速度极慢的问题 Linux kali 没有这个问题 我的下行连接速度为 100 40 megabit s 我可以获得接近 8mb s 的下载速度 没有问题 我已将电脑直接插入互联网插座 无
  • 用于高效大规模图遍历的数据库

    我有一个大型二分有向图数据集 约 2000 万个元素 在当前的使用中 我运行的遍历算法每次运行约 500 000 个节点 这些算法有效 但历史上运行的是从文本文件加载到内存的数据 文本文件似乎是一个不好的方法 所以我将数据作为邻接列表传输到
  • 简单的Java程序插入USB热点后速度慢100倍

    我有以下Java程序 class Main public static void main String args throws java io IOException long start System nanoTime java io
  • “192.168.1.1/21”是什么意思?

    当他们在 IP 地址后面写上一个斜杠和一个数字时 这意味着什么 斜杠后面的部分是要使用多少个子网掩码位 由于使用无类路由 您可以使用斜线而不是说 A 类或 B 类 例子 192 168 1 1 24 is 192 168 1 1 255 2
  • 了解路由表条目

    我想问一个关于Linux中route命令的问题 我已在 Linux 终端中输入以下命令 gt route 并得到输出 Destination Gateway Genmask Flags Metric Ref Use Iface 192 16
  • 慢速网络上的 MS Access 数据库:分离后端是否更快?

    我有一个 Access 数据库 其中包含有关人员的信息 员工资料和相关信息 前端有一个类似控制台的界面 一次修改一种类型的数据 例如一种形式的学位 另一种形式的联系信息 它当前链接到多个后端 一个用于每种类型的数据 一个用于基本配置文件信息
  • Java Socket/Serversocket WAN 连接

    我试图用我的计算机创建一个服务器 以便他们的计算机上的客户端可以与我的计算机连接和通信 我在端口 31350 上创建了服务器 客户端尝试通过我的路由器的 IP 地址进行连接 但只有当我在套接字创建参数中有 localhost 或我的计算机名
  • 无法使用可等待运算符取消操作

    注意 不确定这是否是由于 Asio bug Azmq bug 还是我自己的无知 我正在使用 Azmq 库来读取套接字 该库使用它自己的套接字类型 azmq socket 我很确定它是 boost asio socket 的包装器 执行流程如
  • 使用 Python 查找 LAN 上的活动节点

    我正在创建一个与 Python 2 7 和 Windows 中的 IP Messenger 相同的 Messenger 我想要与 IP Messenger 使用的功能相同的功能查找通过 LAN 运行相同软件的系统但我无法理解这项技术 有人可
  • python 中的原始套接字和 sendto

    我正在努力将 scapy 与twisted 集成 但我在 OSX 上遇到了这个非常奇怪的错误 我似乎无法弄清楚 基本上我无法通过原始套接字发送有效的 TCP 数据包 包括 IP 标头 这就是我正在做的 import socket from
  • 用于实时传输协议的开源 .net C# 库

    net中有好的RTP开源库吗 我的目的是用于音频和视频同步问题并提高每秒帧数速率 我对 RTP 不太了解 但你可能想看看本文 http www codeproject com KB IP Using RTP in Multicasting
  • HttpRequest PUT内容到poco库中

    我想使用 HTTP PUT 请求将一些数据从 C 应用程序发送到服务器 我在用poco http pocoproject org我的应用程序中的网络库 我正在使用这个代码片段 HTTPClientSession session uri ge
  • 使用boost asio的线程池

    我正在尝试使用 boost asio 创建一个有限的线程池类 但我陷入了困境 有人可以帮助我吗 唯一的问题是我应该减少计数器的地方 代码无法按预期工作 问题是我不知道我的线程何时完成执行以及我如何知道它已返回池 include
  • Java 客户端到服务器未知来源

    我有一个简单的乒乓球游戏 需要通过网络工作 服务器将创建一个带有球和 2 个球棒位置的游戏 当客户端连接到服务器时 服务器将创建一个名为 PongPlayerThread 的新类 它将处理客户端到服务器的输入和输出流 我的服务器工作100
  • RTSP 设置后接收 RTP 数据包

    我正在尝试使用 Python 从 IP 摄像机流式传输 RTP 数据包 我能够使用 RTSP 协议发送描述 设置和播放命令 但是 我无法开始使用 RTP 传输实际视频流 这是代码 import socket def printrec rec
  • python获取上传/下载速度

    我想在我的计算机上监控上传和下载速度 一个名为 conky 的程序已经在 conky conf 中执行了以下操作 Connection quality alignr wireless link qual perc wlan0 downspe
  • 向现有 TCP 和 UDP 代码添加 SSL 支持?

    这是我的问题 现在我有一个 Linux 服务器应用程序 使用 C gcc 编写 它与 Windows C 客户端应用程序 Visual Studio 9 Qt 4 5 进行通信 是什么very在不完全破坏现有协议的情况下向双方添加 SSL
  • 如何获取 (Linux) 机器的 IP 地址?

    这个问题和之前问的几乎一样如何获取本地计算机的IP地址 https stackoverflow com questions 122208 get the ip address of local computer 问题 但是我需要找到一个的I
  • Docker 容器与主机网络的网络性能非常慢

    我遇到了 Docker 容器和主机网络之间网络性能缓慢的问题 我在 Docker 论坛上提出了这个问题 但到目前为止还没有收到答案 Problem 设置 同一本地网络上的两台 Mac 第一个运行 MQTT 代理 mosquitto 第二个运

随机推荐

  • 在 Git 中维护“服务器版本”(仅更改配置文件)的正确方法是什么?

    我有时使用 Codeigniter 在本地站点上完成开发后 我需要将文件迁移到服务器 中的所有文件 config 需要更改文件夹以匹配服务器设置 对这些更改进行完整提交是不对的 我是否只是让 Git 完全忽略这些文件 或者有没有办法跟踪这些
  • C# 可为空字符串错误

    private string typeOfContract get return string ViewState typeOfContract set ViewState typeOfContract value 稍后在代码中我这样使用它
  • Spring REST - RestTemplate 可以使用多部分/混合吗?

    我想编写一个 REST 服务 它响应一个 zip 文件和一些 json 数据 所有内容都在一个多部分 混合请求中 服务器部分工作正常 我正在使用 Firefox 的 REST 客户端对其进行测试 我的服务器发送这样的多部分 k dXaXvC
  • 实体框架不适用于没有标识列的表

    我有下表 create table tbl id int identity 1 1 val varchar 100 现在 当我使用实体框架将对象映射到该表时 它可以工作 但是当我按如下方式更改表定义时 create table tbl1 i
  • 在 SendGrid C# 中将电子邮件作为日历邀请/约会发送

    我想向 Outlook 以及非 Outlook 客户端 例如 gmail yahoo 发送一封包含日历邀请 约会的电子邮件 我的应用程序托管在 Azure 上 我使用 SendGrid 发送电子邮件 电子邮件部分工作得很好 但我还没有找到任
  • 开发 URL 缩短器

    我正在尝试开发一个 URL 缩短器应用程序来练习 Django 我不明白如何为每个长 URL 创建唯一的字符串以用作短 URL 就像其他流行的 URL 缩短器一样 我怎样才能做到这一点 是否可以使所有短网址的长度相同 我不明白如何为每个长
  • 在 Perl 中获取 UTC 偏移量的最佳方法是什么? [复制]

    这个问题在这里已经有答案了 我需要以跨平台 Windows 和各种风格的 Unix 方式在 Perl 中获取当前时区的 UTC 偏移量 它应该满足以下格式 zzzzzz 表示相对于 UTC 的 hh mm 看来我应该能够通过strftime
  • 如何为 log4j 设置单独的日志记录流?

    假设我有一堂这样的课 public class MyClass private Logger log LoggerFactory getLogger MyClass class org slf4j LoggerFactory public
  • 在 Chrome 中上传返回 Aw, Snap 页面

    从 chrome 的上次更新 版本 36 0 1985 125 m 开始 我遇到了 uplodify 插件 flash 的问题 Chrome 会显示 噢 Snap Page 有时还会显示 他死了 吉姆 这是我的上传代码
  • Android 文件管理器库 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 诚然 我在 Android 开发方面没有经验 我正在寻找一些 API 可以让我浏览用户文件 而无需通过意图安装单独的应用程序 现在我已经找到了OI
  • java程序中的代理设置

    我正在尝试通过 Eclipse 中的 java 程序使用从 wsdl 生成的客户端连接到 Web 服务 我正在通过代理服务器传递我的请求 但似乎请求没有通过 相同的代理设置在 SoapUI 上运行良好 请在下面找到我设置的系统属性 Prop
  • 如何测试多个变量与单个值的相等性?

    我正在尝试创建一个函数 将多个变量与一个整数进行比较并输出一个由三个字母组成的字符串 我想知道是否有办法将其翻译成Python 所以说 x 0 y 1 z 3 mylist if x or y or z 0 mylist append c
  • 陷阱起火后退出

    拿这个脚本 bin sh fd echo Hello world exit trap fd EXIT INT for g in 1 5 do echo foo sleep 1 done 我想fd从 Control C 或脚本正常退出时触发一
  • 从多对多 SQLAlchemy 和 Postgresql 中删除

    我正在尝试从 sql alchemy 中的多对多关系中删除子对象 我不断收到以下错误 StaleDataError DELETE statement on table headings locations expected to delet
  • Android旋转imageview,我无法在onAnimationEnd()中设置imageview的最终位置

    我想在每次单击按钮时将图像视图旋转 30 度 在第一个 CLIC 上 我可以正确设置动画 但在动画后无法成功更新图像视图位置 当我再次单击按钮时 动画从图像视图的原始位置开始 而不是从第一个动画之后的最终位置开始 这是我的代码 public
  • 将文本读入缓冲区后如何逐行读取?

    首先 我通过调用fread将文本读入缓冲区 然后我想逐行读取它 该怎么做 我尝试使用 sscanf 但似乎不起作用 char textbuf 4096 char line 256 FILE fp fp fopen argv 1 r mems
  • 简单的 Javascript 来模仿在事件处理程序中使用它的 jQuery 行为

    这不是关于 jQuery 的问题 而是关于 jQuery 如何实现这种行为的问题 在 jQuery 中你可以这样做 some link id click function alert this tagName displays A 有人可以
  • 将函数相互嵌套是一种不好的做法吗? [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 在嵌套函数中嵌套函数有什么缺点 这是一个例子 JS jQuery function one do something function two do something function
  • Obj-C 有@available。 Swift 有#available。我可以在 C/C++ 中使用什么?

    如果您的代码需要仅在 macOS 10 12 或更高版本中可用的功能 但您希望代码也部署到早期系统版本 您可以使用 available在 Objective C 中 if available macOS 10 12 Code that re
  • 连接“无连接” boost::asio::ip::udp::socket

    我最近通过浏览网络了解了 UDP 套接字 所有解释它的页面都提到 UDP 套接字是 无连接 如果我理解正确的话 这意味着两个套接字之间没有 连接 而是将数据报包发送到指定的端点 而不知道另一端是否正在侦听 然后我开始阅读 boost asi