本地网络上的可靠组播

2024-01-28

我正在使用 C++ 和 Qt 实现一个消息系统。经过深思熟虑,我确定多播或多播风格的技术最能解决我的问题。然而,我了解到UDP的不可靠性并认为这是不可接受的。

我的要求如下:

  • 消息将以二进制序列化形式发送。
  • 从网络上的任何给定节点,我必须能够向其他节点发送消息。
  • 消息传递must被保险。

我听说过 OpenPGM 和 NORM 作为 UDP 的替代品。如果有人有这方面的经验,可以分享一下吗?

我也对自己在应用层实现“可靠”多播的可能性持开放态度,但如果有一个库已经实现了这一点,我不希望这样做。

我使用的是 C++ 和 Qt,因此基于 .NET 或 Java 的解决方案是不可接受的,除非它们是开源的并且我可以将它们移植到 C++。

非常感谢。

编辑20120816T1853 MDT:另一个问题:PGM 或 NORM 是否必须在硬件/IP 级别实施?或者它们可以叠加在现有协议之上吗?


我们已经通过 UDP 实现了自己的可靠多播协议,称为RSP http://www.equalizergraphics.com/documents/design/multicast.html,因为我们需要一些跨平台的东西,而当时在 Linux 和 Windows 之间找不到好的解决方案。 Windows PGM 实现会断开离开发送窗口的慢速客户端的连接,而我们的实现则类似于 TCP 来限制发送方。 Afaik OpenPGM 可以配置为执行相同的操作。

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

本地网络上的可靠组播 的相关文章

  • 如何从字符串中提取子字符串直到遇到第二个空格?

    我有一个像这样的字符串 o1 1232 5467 1232 5467 1232 5467 1232 5467 1232 5467 1232 5467 如何仅提取 o1 1232 5467 要提取的字符数并不总是相同 因此 我只想提取直到遇到
  • 使用 ADAL v3 使用 ClientID 对 Dynamics 365 进行身份验证

    我正在尝试对我们的在线 Dynamics CRM 进行身份验证以使用可用的 API 我能找到的唯一关于执行此操作的官方文档是 https learn microsoft com en us dynamics365 customer enga
  • 无法继承形状

    为什么我不能使用继承 a 的类Shapes class http msdn microsoft com en us library ms604615 28v vs 90 29 我需要延长Rectangle具有一些方法的类 但我想以与使用相同
  • 在 C++ 代码中转换字符串

    我正在学习 C 并开发一个项目来练习 但现在我想在代码中转换一个变量 字符串 就像这样 用户有一个包含 C 代码的文件 但我希望我的程序读取该文件并插入将其写入代码中 如下所示 include
  • 在 Mono 中反序列化 JSON 数据

    使用 Monodroid 时 是否有一种简单的方法可以将简单的 JSON 字符串反序列化为 NET 对象 System Json 只提供序列化 不提供反序列化 我尝试过的各种第三方库都会导致 Mono Monodroid 出现问题 谢谢 f
  • Selenium - C# - Webdriver - 无法找到元素

    在 C 中使用 selenium 我试图打开浏览器 导航到 Google 并找到文本搜索字段 我尝试下面的 IWebDriver driver new InternetExplorerDriver C driver Navigate GoT
  • 混合模型优先和代码优先

    我们使用模型优先方法创建了一个 Web 应用程序 一名新开发人员进入该项目 并使用代码优先方法 使用数据库文件 创建了一个新的自定义模型 这 这是代码第一个数据库上下文 namespace WVITDB DAL public class D
  • 如何向 Mono.ZeroConf 注册服务?

    我正在尝试测试 ZeroConf 示例http www mono project com Mono Zeroconf http www mono project com Mono Zeroconf 我正在运行 OpenSuse 11 和 M
  • if constexpr 中的 not-constexpr 变量 – clang 与 GCC

    struct A constexpr operator bool const return true int main auto f auto v if constexpr v A a f a clang 6 接受该代码 GCC 8 拒绝它
  • Unity手游触摸动作不扎实

    我的代码中有一种 错误 我只是找不到它发生的原因以及如何修复它 我是统一的初学者 甚至是统一的手机游戏的初学者 我使用触摸让玩家从一侧移动到另一侧 但问题是我希望玩家在手指从一侧滑动到另一侧时能够平滑移动 但我的代码还会将玩家移动到您点击的
  • Linux 上的 RTLD_LOCAL 和dynamic_cast

    我们有一个由应用程序中的一些共享库构成的插件 我们需要在应用程序运行时更新它 出于性能原因 我们在卸载旧插件之前加载并开始使用新插件 并且只有当所有线程都使用旧插件完成后 我们才卸载它 由于新插件和旧插件的库具有相同的符号 我们dlopen
  • 测量进程消耗的 CPU 时钟

    我用 C 语言编写了一个程序 它是作为研究结果创建的程序 我想计算程序消耗的确切 CPU 周期 精确的循环次数 知道我怎样才能找到它吗 The valgrind tool cachegrind valgrind tool cachegrin
  • Unity c# 四元数:将 y 轴与 z 轴交换

    我需要旋转一个对象以相对于现实世界进行精确旋转 因此调用Input gyro attitude返回表示设备位置的四元数 另一方面 这迫使我根据这个四元数作为默认旋转来计算每个旋转 将某些对象设置为朝上的简单方法如下 Vector3 up I
  • 对于 C# Express 用户来说,有哪些好的工具可以识别可能重复的代码? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 也可以看看 有什么工具可以检查重复的 VB NET 代码吗 https stackoverflow c
  • SQLAPI++ 的免费替代品? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有任何免费 也许是开源 的替代品SQLAPI http www sqlapi com 这个库看起来
  • 当Model和ViewModel一模一样的时候怎么办?

    我想知道什么是最佳实践 我被告知要始终创建 ViewModel 并且永远不要使用核心模型类将数据传递到视图 这就说得通了 让我把事情分开 但什么是Model 和ViewModel一模一样 我应该重新创建另一个类还是只是使用它 我觉得我应该重
  • 在 C# 的 WebAPI 中的 ApiController 上使用“传输编码:分块”提供数据

    我需要服务分块传输使用编码数据API控制器 因为我无权访问HttpContext or the Http请求 我有点不知道在哪里写入响应以及在哪里刷新它 设置如下 public class MyController ApiControlle
  • 如何高效计算连续数的数字积?

    我正在尝试计算数字序列中每个数字的数字乘积 例如 21 22 23 98 99 将会 2 4 6 72 81 为了降低复杂性 我只会考虑 连续的数字 http simple wikipedia org wiki Consecutive in
  • 从后面的代码添加外部 css 文件

    我有一个 CSS 文件 例如 SomeStyle css 我是否可以将此样式表文档从其代码隐藏应用到 aspx 页面 您可以将文字控件添加到标头控件中 Page Header Controls Add new System Web UI L
  • ContentDialog Windows 10 Mobile XAML - 全屏 - 填充

    我在项目中放置了一个 ContentDialog 用于 Windows 10 上的登录弹出窗口 当我在移动设备上运行此项目时 ContentDialog 未全屏显示 并且该元素周围有最小的填充 在键盘上可见 例如在焦点元素文本框上 键盘和内

随机推荐

  • 特殊字符匹配失败之前的字边界

    这是我尝试过的 CSharpClassNameRegex new Regex b x36 class function struct enum interface
  • 是否可以找出某个列表是否是固定大小的?

    是否可以找出某些列表是否是固定大小的 我的意思是 例如这段代码 String arr a b List
  • 如何在 Windows 上查询打印队列

    我们正在开发一个关键应用程序 需要对打印的文档进行最好的控制 为了确定打印了哪些文档 我们要检查打印机队列 我们如何查询 Windows 上的打印队列 状态 队列列表 错误 枚举打印机 http msdn microsoft com en
  • Python - 如何从字符串中删除隐藏的符号?

    有时我的字符串里有奇怪的字符 它们在浏览器中不可见 但属于字符串的一部分 并在 len 中计数 我怎样才能摆脱它 Strip 删除正常空间 但不删除该符号 使用来自的字符类别string模块 如果你想允许所有可打印字符 你可以这样做 fro
  • 如何将图像传递给 Django 模板?

    假设views py中对应的函数如下所示 from PIL import Image def get img request img source base image Image open os getcwd deskprod media
  • 为 pyinstaller 创建的 .exe 生成证书

    我为我的公司编写了一个脚本 随机选择员工进行随机药物测试 它工作得非常好 除非我把它交给了使用该程序的人 她点击了它 然后弹出一条消息 询问她是否信任该程序 无论如何点击 运行 后 AVG 在最终加载之前又标记了两次 我读到别人的评论说要在
  • 为什么空行没有存储在变量中

    我正在使用下面的代码 bin bash for host in cat server txt do echo host done server txt 包含 server1 com server2 com server3 com serve
  • 将冻结模型“.pb”文件转换为“.tflite”文件所需的参数 input_arrays 和 output_arrays 是什么?

    我需要转换我的 pb张量流模型和我的 cpkt文件到一个tflite模型以使其在移动设备中工作 有没有什么直接的方法可以找出如何找到我应该用于 input arrays 和 output arrays 的参数 import tensorfl
  • Mongoose getter / setter 用于标准化数据

    I have User模式有一个username场地 我希望此字段区分大小写 以便用户可以注册诸如BobDylan 但是 我需要我的架构来验证新条目 以检查是否有重复项 区分大小写 例如bobdylan 我的研究告诉我 我应该在模式中创建一
  • Delphi 自定义弹出/下拉菜单,如何实现?

    我想制作一个自定义下拉 弹出菜单 其下方有一个很好的阴影 问题是它不是标准菜单 我需要在弹出菜单 下拉菜单中放置一些组件 所以基本上我想要一个下拉菜单 我可以做任何我想做的事情 而不仅仅是简单的菜单项 我希望它像正常的弹出菜单一样工作 问题
  • 箭头键键入大写字母而不是移动光标

    我已经使用 homebrew 安装了最新的 vim 还从 google code 主页安装了 mac vim 在 mac vim 中一切正常 但是当我在 mac 的terminal app 中运行 vim 并进入插入模式时 我会得到 A B
  • 在文件和文件夹的名称中递归地填充 0

    我有一个文件夹 其中包含有关某个特定主题的视频讲座 它的结构如下 1 fol 1 file mp4 2 file mp4 3 file mp4 2 fol 10 file mp4 4 file mp4 5 file mp4 6 file m
  • 谷歌图表重绘/缩放窗口大小

    如何在窗口调整大小时重绘 调整谷歌折线图的大小 为了仅在窗口调整大小完成时重绘并避免多次触发 我认为最好创建一个事件 create trigger to resizeEnd event window resize function if t
  • Kestrel MaxRequestBodySize 上传文件超出限制

    我确实遇到了红隼的一个奇怪的问题 我无法上传超过 kestrel MaxRequestBodySize 的多个文件 预期的行为是抛出BadHttpRequestException当我尝试阅读时this Request Form Files
  • 使用 bash 脚本比较两个文件并打印详细的差异报告

    我在 Unix 系统上有 2 个大文件 每个文件有数千行和大约 80 列 我已根据一组唯一键对文件进行排序 以便我们始终比较相同的行 为了便于理解 我在这里只给出 3 行和 7 列 File 1 d report ref date 2021
  • Angular-Material 设置了只有月份和年份的日期选择器

    我正在使用角度 1 5 9 和角度材料设计 1 1 1 我想添加一个仅包含月份和年份的日期选择器 没有日期 它用于结帐表单中的信用卡到期字段 您可以设置md mode month 下面的工作演示
  • 在opencv上检测非闭合轮廓

    我正在做自动卡检测的计算机视觉项目 我需要将卡片与背景分开 我已经应用了精明的边缘检测 使用自动参数设置 opencv中Canny操作自动计算低阈值和高阈值 https stackoverflow com questions 4292249
  • 将 EJB 作为实例变量注入 servlet 是否安全?

    我们都知道 在 Web 层中 可能只存在给定 Servlet 的单个实例来服务多个请求 这可能会导致实例变量中的线程问题 我的问题是 使用 EJB 注释将 EJB 作为实例变量注入到 servlet 中是否安全 我最初的直觉是否定的 因为假
  • 规范化音频,如何将浮点数组转换为字节数组?

    大家好 我正在播放音频文件 我把它读作byte 然后我需要通过将值放入 1 1 范围内来标准化音频 然后我想将每个浮点值放入byte i 数组然后把它byte 返回到正在播放的音频播放器 我试过这个 byte data ar ReadDat
  • 本地网络上的可靠组播

    我正在使用 C 和 Qt 实现一个消息系统 经过深思熟虑 我确定多播或多播风格的技术最能解决我的问题 然而 我了解到UDP的不可靠性并认为这是不可接受的 我的要求如下 消息将以二进制序列化形式发送 从网络上的任何给定节点 我必须能够向其他节