Cats萌萌
2019-08-26 09:44:11
當您需要可靠的UDP時,您會使用什么?如果您的TCP連接可能太慢并且UDP“連接”可能太不可靠,您使用什么?有各種標準的可靠UDP協(xié)議,你有什么經(jīng)驗嗎?請在每個回復中討論一個協(xié)議,如果其他人已經(jīng)提到您使用的協(xié)議,則考慮將其投票并使用評論進行詳細說明(如果需要)。我對這里的各種選項感興趣,其中TCP位于規(guī)模的一端而UDP位于另一端。提供了各種可靠的UDP選項,每個選項都帶有TCP到UDP的一些元素。我知道TCP通常是正確的選擇,但是有一個備選列表通??梢詭椭覀兊贸鼋Y論。像UDP,RUDP等基于UDP構建的東西各有利弊,你使用它們,你的經(jīng)歷是什么?為避免疑問,沒有更多的信息,這是一個假設的問題,我希望這個問題會引出一份回復清單,詳細說明需要做出決定的人可以使用的各種選項和備選方案。
3 回答

30秒到達戰(zhàn)場
TA貢獻1828條經(jīng)驗 獲得超6個贊
如果沒有關于問題領域的一些額外信息,很難回答這個問題。例如,您使用的數(shù)據(jù)量是多少?多常?數(shù)據(jù)的性質是什么?(例如,它是唯一的,一個是關閉數(shù)據(jù)嗎?還是一個樣本數(shù)據(jù)流?等等)你在開發(fā)什么平臺?(例如,桌面/服務器/嵌入式)要確定“太慢”的含義,您使用的網(wǎng)絡介質是什么?
但在(非常?。┮话阈g語中,我認為你必須非常努力地嘗試使用tcp來提高速度,除非你可以對你試圖發(fā)送的數(shù)據(jù)做出一些嚴格的假設。
例如,如果您嘗試發(fā)送的數(shù)據(jù)是這樣的,您可以容忍丟失單個數(shù)據(jù)包(例如,采樣率比信號帶寬高很多倍的定期采樣數(shù)據(jù))那么您可能通過確保您可以檢測到數(shù)據(jù)損壞(例如,通過使用好的crc)來犧牲一些傳輸可靠性
但是如果你不能容忍丟失單個數(shù)據(jù)包,那么你將不得不開始介紹tcp已經(jīng)擁有的可靠性技術類型。并且,如果不進行合理的工作量,您可能會發(fā)現(xiàn)您已經(jīng)開始將這些元素構建到用戶空間解決方案中,并解決所有固有的速度問題。
添加回答
舉報
0/150
提交
取消