浅谈python socket函数中,send与sendall的区别与使用方法

yipeiwu_com6年前Python基础

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

以上这篇浅谈python socket函数中,send与sendall的区别与使用方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python检测远程udp端口是否打开的方法

本文实例讲述了python检测远程udp端口是否打开的方法。分享给大家供大家参考。具体实现方法如下: 复制代码 代码如下:import socket import threading i...

Python 利用切片从列表中取出一部分使用的方法

我想从列表中取出一部分拿来使用,可以创建切片,指定需要使用的第一个元素和最后一个元素的索引 使用例子,说明切片的使用 #创建一个数字列表,代表我有100页文章,然后进行分页显示 ma...

python3实现域名查询和whois查询功能

1. 域名查询 万网提供了域名查询接口,接口采用HTTP协议: 接口URL:http://panda.www.net.cn/cgi-bin/check.cgi 接口参数:area_...

Python redis操作实例分析【连接、管道、发布和订阅等】

本文实例讲述了Python redis操作。分享给大家供大家参考,具体如下: 一、redis redis是一个key-value存储系统。和Memcached类似,它支持存储的value...

Python实现SVN的目录周期性备份实例

本文实例讲述了Python实现SVN的目录周期性备份方法。分享给大家供大家参考。具体如下: 起因:今天用SVN时,不小心把远程SVN服务器上的目录删掉了,然后在本地又手贱地还原了一下项目...