服务器端:
import socket
# 实例化
sk = socket.socket()
ip_port = ('127.0.0.1', 9999)
# 绑定
sk.bind(ip_port)
# 监听
sk.listen(5)
while True:
print("\n等待新连接...\n")
conn, address = sk.accept()
# 当连进来之后,就一直使用当前连接进行数据传递
# 直到结束标志出现
while True:
with open("file_bak", "ab") as f:
data = conn.recv(1024)
if data == b"quit":
print('接收到quit,正在关闭本连接...')
break
f.write(data)
# 发送完成标志
conn.send('success'.encode())
# 打印提示信息
print('文件接收完成...')
print('正在关闭服务...')
sk.close()
客户端:
import socket
# 实例化
sk = socket.socket()
# ip和端口
ip_port = ('127.0.0.1',9999)
#连接
sk.connect(ip_port)
# 文件上传
# 打开文件
with open('file_client.py', 'rb') as f:
# 数据分割
for i in f:
# 上传
sk.send(i)
# 接收完成标志
data = sk.recv(1024)
print('发送指令,关闭本连接...')
sk.send('quit'.encode())