本文共 957 字,大约阅读时间需要 3 分钟。
一 接收文件
# 导入模块import socket# 实例化sk = socket.socket()# 定义连接的ip和端口ip_port=('127.0.0.1',9999)# 绑定ip和端口sk.bind(ip_port)# 最大连接数sk.listen(5)# 进入循环接收数据while True: # 等待客户端连接 conn,address = sk.accept() # 一直使用当前连接进行数据发送,直到结束标志出现 while True: # 打开文件等待数据写入 with open("file2","ab") as f: # 接收数据 data = conn.recv(1024) if data ==b'quit': break # 写入文件 f.write(data) # 发送接收完成标志 conn.send('success'.encode()) # 打印提示 print('文件接收完成')# 关闭连接sk.close()
二 发送文件
# 导入模块import socket# 实例化模块sk = socket.socket()# 定义连接的ip和端口ip_port=('127.0.0.1',9999)# 服务器连接sk.connect(ip_port)# 文件上传# 打开文件with open('file1','rb') as f: # 按每一段分割文件 for i in f: # 数据上传 sk.send(i) # 等待接收完成 data = sk.recv(1024) # 判断服务器端是否正则接收完成 if data != b'success': break# 给服务器发送结束信号sk.send('quit'.encode())
三 运行结果
1 先运行接收文件程序
2 再运行发送文件程序
3 发现文件发送成功
转载地址:http://mwgj.baihongyu.com/