Форум программистов, компьютерный форум, киберфорум
Python: Сети
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 19.07.2017
Сообщений: 6

Прием ZIP файла сервером на python

11.10.2018, 15:02. Показов 890. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток! суть проблемы заключается в следующем: Клиент передает на сервер ЗИП файл, но сам файл оказываеться битым т.к. кол-во байт приходит по разому иногда 75 иногда 78.8 сам вес файла составляет 77.7, нюанс еще и в том что файл отправляется с андройда, но чую я что проблема в моем серваке собственно вопрос есть ли отличие кода при принятии png файлов от ЗИПа т.к. тестил его на принятие png файлов принимает отлично,
P.S. неуверен что данная проблема относиться к теме но как можно дополнить код для принятия более 1 файла (png) т.к. клиент коннектиться к серверу отправляет файл а дальше при повторной отправке выдает ошибку мол сервер отключен, хотя на деле он работает в чем может быть ошибка? всем спасибо за ответы!
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import socket
import shutil
import zipfile
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(10)
while True:
    s, address = s.accept()
 
    print ('client connected:!', address)
    i=1
    e=++i
    f = open('client' + str(e) ,'wb')
    while (True):
            l = s.recv(4096)
            #shutil.move("/GO/TO/FILE") #некоторые файлы плохо грузятся (серая непрогрузка) т.к. неправильно расположен shutil.move
            while (l):
                    f.write(l)
                    l = s.recv(4096)
s.close()
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.10.2018, 15:02
Ответы с готовыми решениями:

Приём файла Socket сервером при ServerType = stThreadBlocking
Здравствуйте уважаемые пользователи данного форума. Пишу программу клиент-сервер, клиент передаёт серверу файл, сервер его принимает,...

Прием данных сервером
Передаю данные с одного сервера на другой. Со стороны клиента использую WebRequest. А что мне надо использовать со стороны сервера, чтобы...

Однократный прием данных сервером.
народ подскажите кто знает, вот есть сервер и клиент написаный на апи. только фигня с ним какая то. вообщем сервер запустишь все нормально...

1
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
13.10.2018, 19:15
Цитата Сообщение от ROBBB Посмотреть сообщение
чую я что проблема в моем серваке
Проблема в вашем непонимании сокетов и работы протокола TCP.
То что вы получаете файлы png и они открываются, это не значит что они получены верно. Из файла изображения можно удалить некоторое число байтов и оно все-таки будет открываться (просто где-то не будет хватать пикселей). А из zip нельзя - формат не позволяет.
Ваша проблема в том, что вы читаете байты, но не знаете сколько вам нужно прочитать и в итоге получаете постоянно или недовес или перевес. Данные которые читает recv это просто сырой поток - у него нет ни начала, ни конца.
Позаботиться о маркировке начала\конца данных или точном числе байтов передаваемых данных - задача программиста. TCP за это не отвечает. Если вы не понимаете как это сделать - не пользуйтесь такими библиотеками, где требуется работать с низкоуровневыми протоколами.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.10.2018, 19:15
Помогаю со студенческими работами здесь

Не работает прием сервером строки со стороны клиента
Почему сервер не принимает ввод с клиента? Клиент public class Client { private static BufferedReader reader; public...

Приём запроса сервером и отправление обратно клиенту
Доброго времени суток. Помогите разобраться с вопросом. Если код, с помощью которого отправляю POST запрос на сервер. Каким образом...

Sockets прием данных сервером ошибка EOF
Есть клиент и сервер клиент шлет серверу строку "isConnect" для поддержания коннекта, сервер может принимать данные, после приема данных...

Прием сервером от клиента чисел, затем сервер умножает и отправляет результат клиенту
Здравствуйте! Помогите пожалуйста сделать клиент-серверное приложение. Клиент отправляет серверу два числа, сервер принимает их и...

Где взять python.zip?
Собирал отладчик DGB по этой статье: http://qtlinux.narod.ru/make_gdb.htm. msys.bat не может скачать python по ссылке...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru