python套接字编程报错:ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接。

试了几个txt文件,想到应该是tcp把我的文件内容分组发送了,导致如果用'wb'模式就会覆盖前一段分组的内容,请问除了用'ab'还有什么办法解决吗

#服务器程序:

from socket import *

serverPort = 9999
serverSocket = socket(AF_INET,SOCK_STREAM)
serverSocket.bind(('', serverPort))
serverSocket.listen(1)
while True:
    connectionSocket,addr = serverSocket.accept()
    print('Waiting for connection...')
    try:
        data = connectionSocket.recv(2048)
        print(data)
        if not data:
            continue
        file_name = data.split()[1]
        print(file_name[1:])
        f = open(file_name[1:], encoding='utf-8')
        outputdata = f.read()
        header = 'HTTP1.1 200 OK'
        connectionSocket.send(header.encode('utf-8'))
        for i in range(0,len(outputdata)):
            connectionSocket.send(outputdata[i].encode('utf-8'))
        connectionSocket.close()
    except IOError:
        header = 'HTTP1.1 404 NOT FOUND'
        connectionSocket.send(header.encode('utf-8'))
        connectionSocket.close()

#客户程序

from socket import *

serverName = 'LAPTOP-VIGVQ6Q7'
serverPort = 9999
clientSocket = socket(AF_INET,SOCK_STREAM)
clientSocket.connect(('10.131.184.238',serverPort))
while True:
    Head = '''GET /test.txt HTTP/1.1'''
    clientSocket.send(Head.encode())
    data = clientSocket.recv(2048)
    print(data)
    with open('response.html','wb') as f:
        f.write(data)

如题:如果保留服务器程序的connectionSocket.close( ),客户端报错:ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接。
如果删除connectionSocket.close( ),就可以请求到需要的文件,但是客户端会不停发送报文

img

服务器端肯定不能关闭的,收发数据应该是由逻辑控制的。