通过tcp套接字完成一个文件的发送
将一个文件从客户端发送给服务端,或者从服务端发送给客户端均可。
文件可以是文本,也可以是图片
服务端代码:
#-*- coding:utf-8 -*- #设置文档编码,可忽略
from socket import * #引入socket模块
s = socket() #实例化一个socket对象
s.bind(('0.0.0.0',55555)) #绑定端口号为55555
s.listen(5) #设置最大连接数为5
fcontent = '' #先将文件内容设定为空
conn,addr = s.accept() #等待用户连接
data = conn.recv(1024) #设置每次最多接收 1024字节
fcontent += data.decode() #将传过来的内容放到文件内容变量中
f = open('G:/Python/numbers.txt','w+',encoding='UTF-8') #以 w+方式打开文件,并设置编码为UTF-8
f.write('这是新增内容'+fcontent) #写入文件
print(fcontent) #打印文件内容
input() #只是用来控制窗口慢一点关闭的
f.close() #关闭文件
conn.close() #关闭连接
s.close() #关闭套接字
用户端代码:
from socket import * #引入socket模块
s = socket() #实例化一个socket对象
f = open('numbers.txt',encoding='UTF-8') #打开一个文件,设置文档编码为UTF-8
fcontent = f.read() #读取文件所有内容
f.close() #关闭文件
s.connect(('127.0.0.1',55555)) #连接端口号为55555,IP地址为127.0.0.1的服务器
s.send(fcontent.encode()) #将文件内容发送过去
s.close()# 关闭套接字
发表评论