tcp/ip協議這些我就不多說了,自己看書就可以了,首先說明每乙個資料報(udp協議+業務協議),如在這個模組中,我的udp協議 是11個位元組+業務協議(使用者資料),整個資料報最大值是1500位元組,因為乙太網中最大值是1500個位元組其中20位元組ip首部8位元組udp首部,所以使用者資料報我規定是1024個位元組。
有朋友說不會分包,組包,在上面的模組中已經包括這兩個功能
在使用中注意
整個專案最好統一的udp管理,如果客戶端與同一臺伺服器且埠一樣通訊,並有分包組包情況下,不統一模組管理,在併發通訊時(多執行緒下),就會出來子資料報穿插,結果會是資料不正確,或服務端接收不到完成包,或客戶端組包失敗。不多說了,我寫文章不什麼好,看源**吧(
協程巢狀協程
import asyncio import functools 第三層協程 async def test1 print 我是test1 await asyncio.sleep 1 print test1已經睡了1秒 await asyncio.sleep 3 print test1又睡了3秒 ret...
9 協程 協程理論
本節的主題是基於單執行緒來實現併發,即只用乙個主線程 很明顯可利用的cpu只有乙個 情況下實現併發,為此我們需要先回顧下併發的本質 切換 儲存狀態 ps 在介紹程序理論時,提及程序的三種執行狀態,而執行緒才是執行單位,所以也可以將上圖理解為執行緒的三種狀態cpu正在執行乙個任務,會在兩種情況下切走去...
python協程與非同步協程
在前面幾個部落格中我們一一對應解決了消費者消費的速度跟不上生產者,浪費我們大量的時間去等待的問題,在這裡,針對業務邏輯比較耗時間的問題,我們還有除了多程序之外更優的解決方式,那就是協程和非同步協程。在引入這個概念之前我們先看 看這個圖 從這個我們可以看出來,假如來了9個任務,即使我們開了多程序,在業...