после открытия файла данные считываются лишь одинажды и затем код проверяет в цикле одно и то же:
while file_data:
что логично. Ведь данные не изменились
Бред. Данные он забирает внутри цикла повторно и while file_data проверит уже новые данные.
Проблема тут в том, что client.recv() не отпускает выполнение, пока данные не будут приняты размером с буфер
FaqTime, ты ничего не "доказал", окстись. Проблема у тебя может быть в чем угодно. Более того, основной вопрос был решён, а тебе это решение не помогло, а это значит причины проблемы у вас разные. Или это в голову тебе не приходило?
FaqTime, а я тебя клоуном назвал сходу? Или это такое приветствие у тебя? Начинать общение с оскорбления и удивляться агрессивному ответу - странно.
P.S. "Вам, Вы, Вас" пишется всегда с маленькой буквы, особенно, если это множественное число. С большой буквы пишется только если это начало предложения или обращение к ОДНОМУ и крайне уважаемому вами человеку. Т.е. очень и очень редко.
FaqTime, что смешно? Я у тебя провода проверял или менял их местами? Откуда у меня эта информация?
А опция называется "Скорость и дуплекс" в настройках драйвера сетевой карты