Python将文件发送到远程客户端后,文件完成写入的时间要长得多

Python将文件发送到远程客户端后,文件完成写入的时间要长得多,python,python-3.x,sockets,Python,Python 3.x,Sockets,s是标准tcp套接字,这是服务器: s = socket.socket() s.connect(("127.0.0.1", 5203)) with open("example.txt" "wb+") as f: exqwrt = f.read(1024) while (exqwrt): s.send(exqwrt) exqwrt = f.read(1024) 客户端上的代码是,s也是标准tcp套接字: s = socket.socket() s.bind(("127.0.0.1

s是标准tcp套接字,这是服务器:

s = socket.socket()
s.connect(("127.0.0.1", 5203))
with open("example.txt" "wb+") as f:
exqwrt = f.read(1024)
while (exqwrt):
    s.send(exqwrt)
    exqwrt = f.read(1024)
客户端上的代码是,s也是标准tcp套接字:

s = socket.socket()
s.bind(("127.0.0.1", 5203))
s.listen(5)
conn, addr = s.accept()
openedFile = open("examplet.txt", "wb+")
while True:
    exwqrt = conn.recv(1024)
    openedFile.write(exqwrt)
    if not exqwrt:
        break

问题是文件发送速度非常快。但在大约5分钟内,它在examplet.txt上的写入速度非常慢。

您没有将内容刷新到文件中,因此我认为它可能会卡在缓冲区中。请尝试在处理完3个套接字后关闭它们。这会让它更快吗?@roganjosh我不知道这意味着什么。第一个音符可能会重复,重复不是坏事。我不得不试探一下我最初的答案。我认为这个链接包含了回答这个问题所需的所有信息。它不一定要关闭文件来刷新缓冲区,这对于客户端来说可能并不理想;其他方法也在这里介绍。