windows - Sådan overføres filer i et pythonprogram ved hjælp af UDP-stikkontakter

Indlæg af Hanne Mølgaard Plasc

Problem



Så jeg har et program bestående af to processer, der ofte kører på forskellige maskiner. Den ene er en display server, den anden en controller. I øjeblikket kommunikerer de med UDP Datagram sockets, da en savnet pakke kun betyder en springet ramme , og TCP-stik er for langsomme. Disse computere kender hinandens IP-adresser og kendingsporte, som de bruger til UDP-kommunikation.


Jeg søger en brugervenlig måde at overføre filer fra den ene til den anden i Python. Jeg er på Windows 7, så hvis løsningen er Windows-specifik, er det acceptabelt.
Jeg vil bare have, at ting bliver for rodet med at åbne en flok forskellige porte og bruge UDP og TCP sockets på samme tid, men hvis det er deres eneste måde at gøre det, er det okay.


Jeg har set lidt på ActiveState opskrift netcopy:
http://code.activestate.com/recipes/442521-windows-network-file-transfers/
Det virker godt, men det er vanskeligt hidtil at vide, hvor placeringen der skal sendes filen til og få tilladelserne til at sende den, så det ser ud som ikke den slags løsning, jeg vil have. [1]


Jeg er åben for skøre/unikke ideer. Jeg er også ret ny til netværksprogrammering, så hvis jeg bruger nogen terminologi forkert, undskylder jeg.

Bedste reference


Du kan bruge tftp til dette. [2]

Andre referencer 1


Jeg ville ikke bruge UDP til filoverførsel, periode. Det ville være mindre komplekst at åbne TCP sockets i hver ende og rul din egen filoverførselsprotokol oven på det end at implementere pålidelig overførsel oven på UDP.


Nogle administration af filnavne og tilladelser vil blive påkrævet, hvis du virkelig har brug for en fil i begge ender. Du kan blæse det, hvis download-slutningen kun behøvede filindholdet og ikke en faktisk fil i filsystemet.