python3 socket send sendall 区别

在python socket编程中,有两个发送TCP的函数,send()与sendall(),区别如下:

socket.send(string[, flags])  发送TCP数据,返回发送的字节大小。这个字节长度可能少于实际要发送的数据的长度。因为socket缓冲区容量有限,这个函数执行一次,并不一定能发送完给定的数据,可能需要重复多次才能发送完成。

示例:

data = "something you want to send"
len = 0
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) 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值