网络:套接字基于 tcp的应用(三--文件传输)
一个文本文件(图片)在服务端和客户端之间的传输
要求使用tcp套接字
【发送端】
from socket import *
from time import sleep
s = socket()
s.bind(('0.0.0.0',8888))
s.listen(5)
c,addr = s.accept()
print("Connect from ",addr)
f = open('img.jpg','rb')
#将文件名称告知对方
c.send('img.jpg'.encode())
sleep(0.1)
while True:
data = f.read(1024)
if not data:
break
c.send(data)
sleep(0.1)
c.send('##'.encode())
data = c.recv(1024)
print(data.decode())
f.close()
c.close()
s.close()
【接收端】
from socket import *
s = socket()
s.connect(('127.0.0.1',8888))
filename = s.recv(1024).decode()
f = open('/home/tarena/'+filename,'wb')
while True:
data = s.recv(1024)
if data == b'##':
break
f.write(data)
s.send("接收完成".encode())
f.close()
s.close()