python socket函數中,send與sendall的區別與使用方法

在python socket編程中,有兩個發送TCP的函數,send()與sendall(),區別以下:python


socket.send(string[, flags]) 發送TCP數據,返回發送的字節大小。這個字節長度可能少於實際要發送的數據的長度。換句話說,這個函數執行一次,並不必定能發送完給定的數據,可能須要重複屢次才能發送完成。編程


例子:
socket


data = "something you want to send" 
while True: 
len = s.send(data[len:]) 
if not len: 
break 


socket.sendall(string[, flags])   看懂了上面那個,這個函數就容易明白了。發送完整的TCP數據,成功返回None,失敗拋出異常函數


例子:
ui


data = "something you want to send" 

s.sendall(data) 
相關文章
相關標籤/搜索