在python socket編程中,有兩個發送TCP的函數,send()與sendall(),區別如下:
socket.send(string[, flags]) 發送TCP數據,返回發送的字節大小。這個字節長度可能少於實際要發送的數據的長度。換句話說,這個函數執行一次,並不一定能發送完給定的數據,可能需要重復多次才能發送完成。
例子:
data = "something you want to send"
while True:
len = s.send(data[len:])
if not len:
break
socket.sendall(string[, flags]) 看懂了上面那個,這個函數就容易明白了。發送完整的TCP數據,成功返回None,失敗拋出異常
例子:
data = "something you want to send"
s.sendall(data)