2017-02-25 75 views
0

我正在研究一個應用程序,其中有幾個客戶端通過UDP將音頻流式傳輸到Rasbperry PI。從其他主題我明白,通過UDP發送的數據包的順序不保證以相同的順序到達。 但是如何在一個數據包中的字節,我可以認爲這些將按照相同的順序到達,然後由發件人發送?數據包中的UDP字節順序

我想將發送者的一些狀態信息嵌入到一個包中,我可以使用讓我們說包的第一個字節來做到這一點嗎?在這種情況下,我需要確保這些字節在發送方和接收方的相同位置。 這是一種很好的方法嗎?

+1

你真正需要做的是創建一個應用層協議。這就是使用VoIP,HTTP等完成的工作。然後,您的應用程序可以使用此協議來丟棄無序數據包。有了音頻,你不能花時間重新排列數據包,而且你真的不想使用有用的數據包。有不同的VoIP實現使用幾種協議來爲你做這件事,或者你可以推出自己的協議。 –

回答

2

UDP數據包中的字節順序保持不變。儘管UDP不是可靠的協議,但重複,重新排序或丟包只發生在整個數據包上,而不是發送給數據包內的單個字節。