一、TCP粘包問題
(一)什么是粘包?
????????TCP粘包是指發送方發送的多個數據包在接收方接收時被合并成一個大的數據包的現象。這種現象是由于TCP協議本身的特性導致的,TCP是面向流的協議,數據在傳輸過程中沒有明確的邊界。
(二)解決方法
? ? ? ? 1.消息邊界:在每一次發送的消息最后,添加一個特殊的字符(\r\n)表示消息的邊界 。需要接收端,在應用層面自行處理。
? ? ? ? 2.發送定長的數據——數據本身比較固定:強行將數據分成一包一包,每一包大小固定。
? ? ? ? 3.結構體:自定義結構體(消息頭(head)、消息體(body))
二、函數
(一)recv(read)
(二)send(write)
三、UDP
(一)c/s模型
(二)函數接口
? ? ? ? 1.sendto
? ? ? ? 2.recvfrom