1. 程式人生 > >Python---TCP send()和sendall()區別

Python---TCP send()和sendall()區別

 # 傳送TCP資料 send()的返回值是傳送的位元組數量,

#這個數量值可能小於要傳送的string的位元組數,

# 也就是說可能無法傳送string中所有的資料。如果有錯誤則會丟擲異常。

s.send()   

# 傳送TCP資料,sendall()嘗試傳送string的所有資料,成功則返回None,失敗則丟擲異常。

s.sendall() 
sock.sendall('Hello world\n') # 一次性全發過去

buffer = 'Hello world\n'
while buffer:
    bytes = sock.send(buffer)
    buffer = buffer[bytes:]

s.setblocking()  # 設定套接字的(True)阻塞與(False)非阻塞模式