udp和併發程式設計

2022-09-05 17:24:11 字數 1435 閱讀 6655

udp與tcp不同 它不需要建立連線,自帶報頭,一對一傳送,客戶端傳輸傳送訊息給服務端的時候,會把自己的ip位址一起傳送,因為它不需要建立連線 所以說 它比tcp的傳輸資訊的效率更高,但是很容易丟包,穩定性不如tcp,而且只能傳輸512個位元組的資訊,大於512會大大增加丟包的概率 (底層原理就是,udp把傳送的資訊丟給自己的作業系統,作業系統根據網際網路協議,把資訊傳輸出去,發出去後,就會把記憶體裡的資料 清空,資料丟了而tcp把傳送的資訊丟給自己的作業系統,作業系統傳輸後,在沒有收到回覆前,並不會把記憶體的資料清空,所以tcp比udp要穩定)

說併發程式設計前,我們要介紹個概念什麼是程序?

程序就是乙個正在執行的過程\程式

所以說程序是個抽象的概念,

這個概念起源作業系統

作業系統作用:1.把複雜醜陋的硬體操作都封裝成美麗的介面,提供給應用程式使用

2.把程序對硬體的競爭變的有序

作業系統的起源就是計算機的起源,我們就來簡述一下,計算機的發展史

第一代計算機:

第一代計算機是用真空管 製作而成,而真空管易燃,所以需要經常更換,而且第一代計算機,不能多人用只能是乙個人使用,這樣計算機的效率太過低下,但是程式設計師,可以及時修該bug

第二代計算機:

第二代計算機把真空管,換成電晶體,並且計算機可以多人使用,它運用到穿孔卡片,將計算機分為三部分,先是讀入一些程式到磁碟,然後通過人力,將磁碟放入乙個特殊的程式(作業系統的前身),然後所有的程式都執行一遍後,輸出結果,人力 列印

第二代計算器 比第一代計算機安全性更高了,相對於計算機效率更好了,相對於程式設計師程式設計的複雜度上公升了 而且需要人力介入 很是很影響計算機的效率

第三帶計算機:

第三代計算機實現積體電路晶元和多道程式設計,計算機徹底取代人力,並且質的提高了計算機和程式設計師的效率,

多道程式設計:多道技術的產生背景是想要在單個cpu的情況下,實現多個程序併發執行的效果

1.空間上的復用(多道程式復用的記憶體的空間)

2.時間上的復用(多道程式復用cpu時間)

1、正在執行的程序遇到io操作(提公升效率)

2、正在執行的程序占用cpu時間過程,或者有乙個

優先順序更高的程序搶走的cpu的執行許可權 (降低效率)

UDP協議和併發程式設計

稱之為資料報協議。特點 1 不需要建立鏈結。2 不需要知道對方是否收到。3 資料不安全 4 傳輸速度快 5 能支援併發 6 不會粘包 7 無需先啟動服務端再啟動客戶端 優點 傳輸速度快 能支援併發 不會粘包 缺點 資料不安全,容易丟失 應用場景 早期的qq聊天室。tcp協議 稱為流式協議 優點 資料...

Socket 程式設計 TCP 和UDP

三次握手過程 1.建立連線時,客戶端傳送syn包到伺服器,並進入syn sent狀態,等待伺服器確認。2.伺服器收到syn包,反饋乙個syn ack包,進入syn recv狀態。3.客戶端接到伺服器的syn ack包,向伺服器傳送確認包ack,同時進入established狀態,三次握手完成。伺服器...

網路程式設計 TCP和UDP

在網路通訊協議下不同計算機上執行的程式,可以進行資料傳輸 ip位址 ip位址可以唯一標識網路中的裝置 埠埠號可以標識裝置中的應用程式 協議常見udp tcp 方法名說明 datagramsocket 建立資料報套接字並將其繫結到本機位址上的任何可用埠 datagrampacket byte buf,...