为了账号安全,请及时绑定邮箱和手机立即绑定

直接把等待客户端连接那一句移动到while循环外面也可以吧?

直接把等待客户端连接那一句移动到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()


正在回答

2 回答

也行,不过要是你这样处理的话,只能接收一个客户端的请求和处理后,服务器端的程序也就关闭了,没发处理多个请求了。

0 回复 有任何疑惑可以回复我~

写在外面的话,一个客户端发送一个文件之后,文件接收端程序就关闭了

作者应该是想可以循环往复的接收文件吧,这是我个人理解。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

直接把等待客户端连接那一句移动到while循环外面也可以吧?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信