将数据发送到套接字。 套接字必须连接到远程套接字。 返回发送的字节数。 应用程序负责检查是否已发送所有数据; 如果仅传输了一些数据,
则应用程序需要尝试传递剩余数据。(需要用户自己完成)
将数据发送到套接字。 套接字必须连接到远程套接字。 与send()不同,此方法继续从字符串发送数据,直到所有数据都已发送或发生错误。
成功后不返回任何内容。 出错时,会引发异常,并且无法确定成功发送了多少数据(如果有)。
# 发送TCP数据 send()的返回值是发送的字节数量,
#这个数量值可能小于要发送的string的字节数,
# 也就是说可能无法发送string中所有的数据。如果有错误则会抛出异常。
s.send()
不是socket自己会运行这个机制,需要用户自己写
def mysend(msg):
totalsent = 0
while totalsent < MSGLEN:
sent =sock.send(msg[totalsent:])
if sent == 0:
raise RuntimeError("socket connection broken")
totalsent = totalsent + sent
# 发送TCP数据,sendall()尝试发送string的所有数据,成功则返回None,失败则抛出异常。
知识补充
首先会对一些常见的网络编程知识进行补充下:
MTU