2011-01-02 6 views
0

Hallo Ich habe TCP/IP-Client-Server-Anwendung. Ich möchte ein großes serialisiertes Objekt um 1 MB über Sockets senden.
Ist es möglich, eine bessere Leistung zu erzielen, indem Sie Byte-Array auf beispielsweise 10 Brocken von Arrays aufteilen und jeweils einen Socket öffnen und ihnen Async im Vergleich zum Öffnen eines Sockets senden und alle großen Daten darüber senden?Schnellste Form des Herunterladens mit Sockets

Dank

Antwort

2

Nein, dies beschleunigt nicht die Übertragung unter normalen Bedingungen, es fügt nur Overhead hinzu. Es würde nur helfen, wenn Sie ein langsames Netzwerksegment haben, das ansonsten ziemlich ausgelastet ist und der Datenverkehr pro TCP-Verbindung geformt ist.

Stellen Sie sicher, dass Ihr Sockets-Code effizient ist, da falscher Puffer und daher Paketgrößen, synchroner Betrieb und andere Dinge die Übertragung verlangsamen können.

4

Splitting die Daten auf weniger als die MTU wird mehr Aufwand einführen, wie es mehr Pakete sein - dies tatsächlich die Dinge verlangsamen. Was Sie vorschlagen, wird bereits als Teil des Protokolls getan, d. H. Teilen und Zusammenfügen. Ich würde mit dem Senden weniger Daten z. Kompression.

Verwandte Themen