我们正在使用 c++ 设计一个 p2p 应用程序,它使用 UDP 将语音传输到其他对等方。
我们正在线程中的缓冲区中捕获麦克风信号,while
该线程在循环中捕获一秒钟的语音。对于在缓冲区中捕获的每一秒语音,它会将其拆分为数据包并发送到另一个对等方。现在我需要在目的地有一个适当的数据结构来应对实时传输。我将用于屏幕捕获的相同数据结构。这是我想到的两种使用队列的方法
使用链表实现队列,该链表在图像的情况下维护
OneSecVoice
对象或对象的队列。Image
OneSecVoice
使用或Image
对象的静态数组实现队列
OneSecVoice/Image
对象将包含数据包的总数,数据包缓冲区为那个特定的Image/OneSecVoice
。
由于它是实时的,一个线程将连续扫描队列并通过弹出队列取出最新的完成 。Image/OneSecVoice
Image/OneSecVoice
所以选择使用链表实现队列或使用静态数组实现队列。
我和我的朋友为此争论不休,所以我们决定在这里发帖。