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) 
posted @ 2018-10-26 16:36  by_Clark  阅读(3977)  评论(0编辑  收藏  举报