Python сокет получения файлов для l oop [WinError 10056] - PullRequest
0 голосов
/ 20 апреля 2020

Когда я пытаюсь получить файлы с сервера, я получаю первый файл без проблем, чем получаю эту ошибку на втором; OSError: [WinError 10056] Был сделан запрос на подключение к уже подключенному сокету

Client.py

files={
    "file1":"10.10.10.10",
    "files2":"10.10.10.15"
}   
json={
    "filename" : ""
} 

while 1:
    socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    for file,ip in files:
        json["filename"] = file
        requestJSON = json.dumps(json)

        socket.connect((ip, 3875))
        socket.send(bytes(requestJSON, encoding='utf-8'))
        with open("loc/" + file, 'w') as f:
            while True:
                print('receiving data...')
                data = socket.recv(1024)
                if not data:
                       break
                f.write(data)
            f.close()
        socket.close()

Server.py

while 1:
    conn, addr = socket.accept()
    msg=conn.recv(1024)
    file=json.loads(msg.decode('utf-8'))
    fp = "/loc/" + file["filename"]
    f = open(fp, 'rb')
    d = f.read(1024)
    while d:
        clientSock.send(d)
        l = f.read(1024)
    f.close()

1 Ответ

0 голосов
/ 20 апреля 2020
f = open(fp, 'rb')
d = f.read(1024)
while d:
    clientSock.send(d)
    l = f.read(1024)
f.close()

Не должно быть там d = f.read (1024)?

...