黏包以及處理 馬鴻凱 新浪部落格

2021-10-10 12:06:21 字數 282 閱讀 8693

產生物件:tcp中的接受方

黏包原因:收方在讀取緩衝區時,緩衝區存在多個資料報。在tcp協議中接收方是一次讀取緩衝區中的所有內容

解決方式:​自定協議

自定協議,將資料報分為了封包和解包兩個過程。在傳送方傳送資料時,對傳送的資料進行封包操作。在接收方接收到資料時對接收的資料報需要進行解包操作。

自定協議時,封包就是為傳送的資料增加包頭,包頭包含資料的大小的資訊,資料就跟隨在包頭之後。當然包頭也可以有其他的資訊,比如一些做校驗的資訊

linux命令 ulimit 馬鴻凱 新浪部落格

在占用記憶體空間較大的區域性陣列宣告的前面加static將其從堆疊資料段挪到全域性資料段即可。堆疊大小預設1mb 可以在鏈結選項中改大 區域性變數是放在棧空間中的,而函式傳遞的引數也在棧空間中,struct original bp newh row col 這個陣列太大,把棧空間其它的資料給覆蓋了。...

檔案讀寫方式 馬鴻凱 新浪部落格

在fopen最後乙個有個類似許可權的東西 如下 file fopen const char path,const char mode mode 開啟方式 有下列幾種形態字串 r 以唯讀 方式開啟檔案,該檔案必須存在。r 以可讀寫方式開啟檔案 該檔案必須存在。rb 讀寫開啟乙個二進位制檔案 允許讀資料...

stcmp的實現 馬鴻凱 新浪部落格

include stdio.h include assert.h intstrcmpstr const char res const char des if ret 0 else if ret 0 return ret intmain 附錄 在c中,預設的基礎資料型別均為signed,現在我們以ch...