隨想錄(udp經驗總結)

2021-09-10 14:12:42 字數 857 閱讀 8316

最新在實現udp方面的軟體,有一些經驗需要總結一下,以供日後參考。

1、udp協議簡單,共8個byte,分別是源埠、目的埠、長度、校驗和。

2、udp沒有超時重傳、擁塞控制,所以單次傳輸的最大長度就是1個short字長。

3、udp可以繫結固定源埠,這是tcp沒有辦法做到的,同時udp也比較適合廣播包處理。

4、單次udp收到的報文就是你能處理的單次最大報文,不能像tcp一樣迴圈接收。發包也是一樣。

5、udp沒有辦法確認接收方是不是真的收到報文,如果需要自己新增ack機制。

6、udp傳送的報文如果超過65536,必須分開傳送,接收順序不保證,可以自己實現序列號。

7、udp傳送超過1480的報文,也會被ip自動分包。

9、udp比較適合一問一答模式,比如所有命令都是client發起,server只要及時處理就可以了。

注意:學習udp最好的方式就是用python來學習,比如像這樣,

ubuntu$ python

python 2.7.13 (default, dec 18 2016, 07:03:34)

>>> import socket

>>> s = socket.socket(socket.af_inet, socket.sock_dgram)

>>> local=('0.0.0.0',10000)

>>> s.bind(local)

>>> remote=('0.0.0.0',20000)

>>> buffer='0123456789'

>>> s.sendto(buffer,remote)

10>>> s.close()

>>>

軟體隨想錄

最近閱讀了由阮一峰翻譯的,有程式設計師部落酋長之稱的 joel 撰寫的 軟體隨想錄 精華摘抄如下 就如同所有行業最好的人才一樣,那些優秀的程式設計師是不會出現在招聘市場的。通常優秀的程式設計師在整個職業生涯中,可能會有4次求職。實習生制度創造了輸送優秀人才的管道,但是這個管道比較長,而且一路上損耗很...

專案隨想錄

發現自己不怎麼會起題目了。中午回去還沒走到寢室,就接到劉老師的 說要把程式調通,於是中午吃完飯立馬跑回去,把顯示問題解決了。其實那個無效數字問題是因為在hql語句中使用了cast pw as integer 將字串轉成integer型,可是資料庫中的內容程式設計了字母加數字,自然會轉換失敗了,唉,真...

雜文 隨想錄

這裡是一些隨想。關於名為二氫婦女的使用者本人,希望 ta 能有乙個美好的未來。科學雖然給我們許多驚奇,但也攪壞了我們許多好夢。當登上了月球的那一刻,一切有關月的夢都被現實的蒼涼所破碎了。從那一步邁出起,廣寒宮破碎,輝夜姬亦未曾回到月上,阿爾忒彌斯丟失了金弓與駕月之車,一切有關月的神話於此失去光輝,人...