Frage

Kann mich jemand zu einem Tutorial Punkt auf dem besten Weg, eine Verbindung vom Client zum Server zu öffnen, in einer Binärdatei lesen und seinen Inhalt zuverlässig über die Netzwerkverbindung senden? Noch besser ist, gibt es eine Open-Source-Bibliothek, die bereits das tut, was ich beziehen könnte?

War es hilfreich?

Lösung

Sie in binäre Serialisierung aussehen soll und über einen TCP-Socket senden.

Gute Erklärung auf verschiedene Arten von Serialisierung:

http://www.dotnetspider.com/resources /408-XML-serialization-Binary-serialization.aspx

Gute Grundierung auf TCP Client / Server in C #:

http://www.codeproject.com/KB/IP/tcpclientserver.aspx

Andere Tipps

Dies ist abhängig, was Sie durch das Netzwerk bedeuten - wenn Sie in einem lokalen Netzwerk sind das Kopieren können Sie nur die Dateikopiervorgänge innerhalb System.IO verwenden. Wenn Sie wollen auf Remote-Server zu senden, muss ich diese Web-Services. Ich komprimieren Byte-Arrays und senden sie über und auf der Remote-Seite dekomprimieren. Der Byte-Array ist super einfach auf der Festplatte mit Hilfe von Streams zu schreiben zurück.

Ich kenne einige Leute bevorzugen Basis 64 Strings anstelle des byte []. wenn es darauf ankommt, nicht sicher.

Wie über HTTP oder FTP? Sie waren irgendwie wettgemacht.

Alex

Je nachdem, wo Sie die Datei senden an, Sie könnten einen Blick nehmen wollen? WebClient.UploadFileAsync und WebClient.UploadFile .

Ich würde nicht HTTP oder FTP, für eine einzelne Datei ist es zu viel Aufwand und zu viel Code, vor allem eine einfache TCP-Server, die fast schon gemacht für Sie in C #.

Sockel kann der beste Weg sein, wenn Sie nur über das Netzwerk zu tun. Wenn Sie TCP verwenden, können Sie die Zuverlässigkeit der Kommunikation erhalten, aber einen Einfluss auf die Geschwindigkeit nehmen. Wenn Sie eine höhere Leistung benötigen, können Sie stattdessen mit UDP versuchen. Aber der Nachteil an UDP ist, dass die Paketzustellung und Ordnung nicht gewährleistet ist, so dass Sie alle, dass Sanitär selbst schreiben müssten.

Wenn Sie Dateien benötigen zur Übertragung über das Internet selbst (programmatisch, und wenn Sie nicht FTP), dann einen Web-Service-Ansatz über MTOM könnte Ihre Bedürfnisse anzupassen.

Wenn Sie auf Windows Server bauen 2003 R2, Windows Vista oder Windows Server 2008 und interne Netzwerkübertragungen zu tun, eine weitere Option ist die neue Funktion Remote Differential Compression . Dies nicht nur, dass eine wirklich gute Arbeit an eine Datei komprimieren Netzwerkverkehr zu minimieren, werden aber auch direkt von der DFS-Replikation verwendet. Kehrseite (als .NET-Entwickler), es ist eine COM + Technologie.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top