1. 程式人生 > >FEC之我見一

FEC之我見一

ack 長時間 服務器 恢復 阻塞 設計理念 你是 連接 qos

顧名思義,FEC前向糾錯,根據收到的包進行計算獲取丟掉的包,而和大神溝通的結果就是 糾錯神髓:收到的媒體包+冗余包 >= 原始媒體包數據

直到滿足 收到的媒體包+ 冗余包 >= 原始媒體包數據 則進入恢復模式,恢復出2 4,然後一次輸出2 3 4 5 所謂的Qos,也可以理解為抖動緩沖,解決udp包亂序、包重復的問題 NAT保活,保持udp連接,簡言之: 當你向一個公網服務器發送數據時,服務器可以翻轉IP和端口向你發數據, 但如果你長時間不發數據給服務器,服務器若想用之前的IP和端口向你發就不一定成功了。因為在路由器上的NAT映射可能已經失效,如果你是一直向服務器發送數據,那就不存在這個問題。 FEC的設計理念大多一樣,編碼/解碼/回調函數:
1.encode,不區分輸入內容,編碼後輸出輸出冗余包數據; 2.decode,根據輸入數據進行糾錯,如果數據不是有序,則等待 (收到的媒體包+冗余包 >= 原始媒體包數據) 輸出原數據 3.callback,一包一包數據輸出,阻塞接口

FEC之我見一