网络:套接字基于 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()

 

posted @ 2021-01-05 12:22  昱成  阅读(146)  评论(0编辑  收藏  举报