gpt4 book ai didi

C# parchive/quickpar/par2修复实现?

转载 作者:太空狗 更新时间:2023-10-29 17:59:51 24 4
gpt4 key购买 nike

我正在编写一个 C# 应用程序,它需要能够使用 par2 奇偶校验文件修复一组文件。对于 C++,有很多东西可以做到这一点,但对于 C#,我找不到本地实现。

一种选择是使用 C# 中的 C++ DLL,但我宁愿不这样做,因为不可能在 x64 应用程序中使用 32 位 dll,所以我将我的应用程序限制为 32 位模式。

另一种选择是在后台shell执行par2cmdline,但我宁愿对流程有更多控制权(进度、取消等)。

有人知道使用 par2 集修复文件的 native C# 实现吗?

最佳答案

您想坚持使用 PAR 本身吗?我有一个完全原生的 Reed/Solomon implimentation,如果它有帮助我会发布(PAR 所基于的匹配),但我没有任何文件处理和分解的东西。

我的代码是 Stream 的一个实现,并生成一个包含所有纠错数据的字符串。然后您可以破坏该数据并将其发回,系统将自动恢复它。我只想发布它,但它很长而且我懒得写一篇博文并链接到它。

要使其像 PAR 一样工作,您必须将其分解为文件,然后构建一个系统,该系统可以识别丢失的卷并为所有丢失的数据“添加”损坏的数据(数学无法处理丢失的数据,只能腐败)。

此外,作为性能说明,此系统的构建相当“突发”,它会同时接收大量 100k 流,但也会等待很长时间才能无所事事。 C# 版本的数学计算比纯 C 版本快 6%。如果我只使用不间断负载进行性能测试,C# 运行速度会慢 1-2%。根据我的经验,大多数 C 到 C# 的数学转换具有相同的性能结果。

关于C# parchive/quickpar/par2修复实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/881546/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com