我需要实现一种记录 UDP 流的方法,以便稍后根据请求重播该流。此记录和重放必须使用相同的时间(达到合理的分辨率,人类用户几乎无法感知,比如说 10 毫秒):如果原始流在 00:00 到 00:35 秒内有数据,则静音直到 00: 55,然后从 00:55 到 01:34 发送更多数据,当我的应用程序重放该流时,必须观察到相同的分布。
如果只是将 udp 流保存到磁盘然后重放它,如果没有这个时间,使用 Socket、NetworkStream 或 UdpClient 将是微不足道的。问题是我无法设计一种方法来修改标准接收算法以包含该时间,以便稍后通过发送算法轻松重播。作为奖励,还应支持在任何时间标记(例如,从 00:15 开始)开始重播的方式。
1)有什么方法可以在 C# 上轻松实现此功能?我们对此没有任何严格的非功能性要求,我们只需要让它简单地工作。任何有关实现它的方法的提示将不胜感激。
2)如果这确实不是一件简单的事情,并且有人建议为此使用任何第三方组件,则要求它具有 C# 的 API(或从代码操作组件的方法),并希望是开源或免费使用的软件。
非常感谢。