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


在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) 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM