Прехвърлете файл в Python с помощта на TCP

Добре, знам, че задавам много основен въпрос, но обикалях мрежата в търсене на добър урок, но не мога да намеря такъв. Може ли някой да предложи добър урок за това как да прехвърляте файлове от клиент към сървър чрез TCP връзка с python

Също така, ако искам да прехвърля всички файлове в директория, включително поддиректории, какъв ще бъде най-добрият начин да премина през директорията и да изпратя всеки файл един по един през TCP връзката

Също така край на сървъра, където ще прочете файла и ще ги съхрани в съответната им директория в главната папка

Добър урок, който може да ми помогне да започна с прехвърлянето на TCP файлове с помощта на Python, би бил страхотен, нов съм в python


person Hassan Jalil    schedule 14.10.2013    source източник
comment
Опитайте този отговор на @Michael Dillon   -  person Kobi K    schedule 14.10.2013


Отговори (1)


Този въпрос е малко твърде неясен или твърде широк за Stackoverflow, така че очаквайте отрицателни гласове или тикетът ви да бъде затворен. Но бих искал да посоча пътна карта за това, което искате да направите.

Прехвърляне на един файл:

  1. Отворете гнездо за слушане от страната на приемника.
  2. Свържете се с този слушател от изпращащата страна, като отворите гнездо.
  3. Прочетете съдържанието на файла на части и запишете частите в сокета.
  4. От приемащата страна четете части от сокета и ги записвайте на диска във файл.
  5. Когато достигнете края на файла, затворете гнездото за изпращане.
  6. Когато затварянето на връзката бъде открито от приемника, затворете файла, в който се записват парчетата.

Прехвърляне на множество файлове (дървета):

Бих предложил да се използват съществуващи инструменти като tar чрез модула subprocess за създаване на единичен поток от съществуващо файлово дърво или списък с файлове. След това прехвърлете този поток по описания по-горе начин. От приемащата страна разопаковайте потока отново чрез модула subprocess.

person Alfe    schedule 14.10.2013