pythonTCP套接字传输文件

使用tcp完成一个文件的传输,要求可以传输文本文件也可以传输图片从客户端发给服务端,
或者从服务端发给客户端均可

客户端:

#send_file
from socket import *
from time import sleep

s = socket()
addr = (('127.0.0.1',8888))
s.connect(addr)

f = open('file.jpg','rb')

file_name = input('name:')
s.send(file_name.encode())
sleep(0.1)

while True:
    data = f.read(1024)
    if not data:
        sleep(0.1)
        s.send(b'##')
        break
    s.send(data)

data = s.recv(1024)
print(data.decode())

f.close()
s.close()

下面是服务端

#recv_file.
from socket import *

s = socket()
s.setsockopt(SOL_SOCKET,SO_REUSEADDR,1)
s.bind(('0.0.0.0',8888))
s.listen(5)

c,addr = s.accept()

file_name = c.recv(1024).decode()
try:
    f = open(file_name,'wb')
except:
    print('文件打开失败')

while True:
    data = c.recv(1024)
    if data == b'##':
        break
    f.write(data)

c.send(b'Receive over')

f.close()
c.close()
s.close()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值