一、黏包現象(大檔案一般用tcp,udp雖不黏包但不可靠、不宜傳送大檔案)
二、1、server端
#不知道客戶端傳送的資料長度
print('----->',data1.decode('utf-8'))print('----->',data2.decode('utf-8'))
import time
time.sleep(1)
data2=conn.recv(10)
print('----->',data2.decode('utf-8'))
conn.close()
tcp_socket_server.close()
client端
#優化演算法 連續的 、小資料報會被合併(為了提高效率、網路延遲),
如果server改成
client改成
server第一次接收完訊息,第二次在等待接收阻塞,當client傳送完訊息並關閉會給server端傳送乙個空訊息(和作業系統有關,有時會報錯)
網路程式設計筆記 3 解決黏包問題
優點 缺點 注意 server端 import socket sk socket.socket sk.bind 127.0.0.1 8080 sk.listen conn,addr sk.accept while true cmd input if cmd q conn.send b q break...
五 網路程式設計 UDP 不黏包)
一 udp不黏包 會丟包 1.不黏包 丟包 udp user datagram protocol,使用者資料報協議 是無連線的,面向訊息的,提供高效率服務。不會使用塊的合併優化演算法,由於udp支援的是一對多的模式,所以接收端的skbuff 套接字緩衝區 採用了鏈式結構來記錄每乙個到達的udp包,在...
網路程式設計 粘包
粘包問題的產生 tcp流式協議 基於資料流的協議 接收方產生粘包問題 1.接收方不清楚資料有多長只接收了資料的一部分 2.接收方多讀取了資料 傳送方產生的粘包問題 作業系統沒有及時傳送前一次的資料,導致兩次資料粘在一起 粘包問題的根本原因是接收方不清楚資料的長度 tcp nigle 優化機制 如果多...