2009-03-07 5 views
1

Ich habe eine Desktop-Anwendung, die Dateien auf einen Webserver hochladen muss.Datei-Upload über HTTPS - Desktop zu WebServer

Das Protokoll ist HTTPS.

Ich denke ich sollte einen Aschlex schreiben, der mit den Uploads umgehen wird; Senden von 4k Chunks gleichzeitig. Mit einer Antwort von ok jedes Mal. Ist das ein guter Algorithmus?

Was ist der beste Algorithmus zum Hochladen von einer Desktop-Anwendung auf einen Webserver über HTTPS?

Antwort

3

Wie viele Dateien möchten Sie hochladen? Solange sie nicht riesig sind (> 100 MB), können Sie einen mehrteiligen MIME-kodierten Upload (RFC 1867) aus Ihrer Anwendung generieren. Dies ist das gleiche Format, das Browser für Uploads verwenden, also würde Ihr Handler die Datei einfach aus der Request.Files-Sammlung ziehen. Chunking wird dich nicht viel bringen, es sei denn, du lädst auf eine langsame Verbindung hoch oder lädst riesige Dateien hoch.

2

Chunking verlangsamt Sie wahrscheinlich, wenn Sie den vereinfachten Ansatz des Sendens des nächsten Pakets nur dann verwenden, wenn die Bestätigung des vorherigen Pakets empfangen wurde. Dieser Ansatz hat sich als langsam erwiesen (über Netzwerke mit nichttrivialer Latenz). Versuchen Sie etwas, das direkt vom Webserver unterstützt wird, anstatt selbst zu rollen (wie der Vorschlag von Chris Hynes: Multipart-MIME-kodiertes Hochladen).

+0

Haben Sie eine Referenz für "nachweislich langsam?" – user72491

+0

Ich habe keine Referenz zur Hand. Es gibt zwei Arten von Beweisen dafür, mathematisch und "durch Erfahrung bewiesen", und beide sollten verfügbar sein, wenn Sie sich umsehen. Als Ausgangspunkt suchen Sie nach "Sliding Window Protocol". – jdigital

+0

Lassen Sie das Netzwerk dieses Problem für Sie behandeln. Du musst nicht darüber nachdenken. – Nathan