直接把等待客户端连接那一句移动到while循环外面也可以吧?
# 导入模块
import socket
# 实例化模块
sk = socket.socket()
# 定义ip和port
ip_port = ("127.0.0.1", 9999)
# 绑定ip和port
sk.bind(ip_port)
# 最大连接数
sk.listen(5)
# 等待客户端连接
conn, address = sk.accept()
# 循环
while True:
# 打开文件等待写入
with open("file", "ab") as f:
# 接受数据
data = conn.recv(1024)
# 判断是否接收完成
if data == b'quit':
break
# 写入文件
f.write(data)
# 关闭连接
sk.close()也行,不过要是你这样处理的话,只能接收一个客户端的请求和处理后,服务器端的程序也就关闭了,没发处理多个请求了。
写在外面的话,一个客户端发送一个文件之后,文件接收端程序就关闭了
作者应该是想可以循环往复的接收文件吧,这是我个人理解。