**傳輸模式**
TCP協議:資料流(DataStream)
--沒有訊息邊界,比如服務端給客戶端發來2048位元組大小的資料,而客戶端設定的一次最大接收大小為1024,這時候就意味著還有1024沒能接收過來,要再接收一次。
所以容易出現粘包的情況。所謂粘包,就是資料都粘在一起了。
UDP協議:資料包(DataGram)
--永遠不會存在粘包現象,因為UDP資料存在訊息邊界,在其報文頭裡包含有客戶端的IP地址和埠這樣的資訊,還以上面的例子舉例:
比如服務端給客戶端發來2048位元組大小的資料,而客戶端設定的一次最大接收大小為1024,這時候就意味著還有1024沒能接收過來,此時剩下的內容客戶端再也接收不過來了,
因為UDP認為已經傳送結束了。
所以說啊,一般都用TCP協議,因為可靠。UDP協議是一種不可靠的協議,容易丟包。