linux第6天 流協議 粘包

2022-04-29 10:30:13 字數 685 閱讀 6753

今天學習的主要是對第5天的加強.

比如伺服器的多程序,點對點應用聊天程式.父程序子程序互發訊息.等等.

流協議-粘包

一般tcp協議會出現粘包,粘包產生的原因一般為.tcp協議是流式傳輸,不會根據使用者傳輸資料的大小進行截斷,

所以使用者資料的傳輸很可能被tcp截斷,所以就有了一種對資料報的再包裝.

思想是.在該資料報的包頭再放上4個位元組的數,用於存放該資料報資料的大小,

值得注意的是.這4個位元組需要轉換成網路位元組序,在接受端,也需要轉成本地位元組序,

網際網路的資料傳輸可能會遇上各種各樣客觀的問題,比如,被訊號打斷,socket的關閉等等,都將引起資料傳輸異常,

對異常的處理常常很考驗程式設計師的功力,

read函式,返回-1,代表讀取失敗,可能是讀到檔案末尾,無可讀取的資料

當read的對面關閉時,tcp協議會傳送乙個fin指令,read會返回0,

如果被乙個訊號中斷,也返回-1,但errno的值被設定為eintr

附上乙個函式.

ssize_t readn(int fd, void *buf, size_t count)

else if (0 == nread)

pbuf += nread;

lread = lread - nread;

} return count;

}

第09天 HTTP協議

1.知道貪婪的特點 根據正規表示式盡量多匹配資料 2.掌握非貪婪的使用 在範圍正規表示式 後面加上問號,比如 非貪婪含義 後面的資料不要?前面的正規表示式進行匹配,留給問號後面的正規表示式自己匹配 3.知道r的作用 r的作用使用是原生字串,正規表示式裡面如果使用了反斜槓,不需要再對反斜槓進行轉義 5...

東北育才 第6天和第7天

我失言了 沒有寫第6天的部落格 頹 去了 怎麼辦 陷入無限的自責 今天考圖論,該錯的,不該錯的,全錯了。幸好沒有爆零。我們很多板塊確實很弱。今天中午吃手抓飯,但不讓手抓。清真食堂特別節儉不許倒飯,一想起我們學校的食堂,心裡就很不是滋味。下午講課的大佬在高一的時候就已經進了集訓隊,和這樣的大佬坐在一起...

Java複習筆記 第6天

軟體開發基礎 計算機是執行程式指令的電子裝置,輸入 輸出 儲存和處理 cpu部件 算術邏輯單元 alu 控制單元 儲存器 主儲存器 臨時儲存資料 輔助儲存器 永久儲存 ram 隨機訪問儲存器 記憶體條 rom 唯讀儲存器 可以訪問和讀取但不能修改 cache 快取記憶體 乙個位元組 byte 等於8...