Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#6

AW: Konzept: Netzwerkprotokoll

  Alt 19. Sep 2012, 15:36
Also ich habe mir dazu auch schon mal Gedanken gemacht und bin auf folgendes Protokoll gekommen:
Delphi-Quellcode:
TMessageHeader = packed record
  BlockSize: Word; // Größe des aktuellen Datenblocks (inkl. Header)
  StreamNo : Byte; // 0=Command Stream, 1..255=Data Streams
  Payload : Array[0..0] of Byte; // Nutzdaten
end;
Damit können bis zu 256 unabhängige Streams über die gleiche TCP-Verbindung gemultiplexed werden.
Nach Aufbau der TCP/IP-Verbindung ist nur der Command-Stream (0) offen.
Der Client sendet dann z.B. einen Befehl an den Server:
Code:
SENDFILE test.dat
Der Server antwortet
Code:
ACK Stream 2
Die Daten werden dann blockweise mit StreamNo=2 übertragen.
Zum Schluss wird eine Message ohne Payload geschickt um den Stream wieder zu schliesen.

Der Charme dieses Protokolls ist seine Einfachheit. (das Protokoll im Command-Stream gehört aber nicht dazu. Das SENDFILE oben war nur ein Anwendungsbeispiel)
Man kann es unabhängig vom Einsatzzweck benützen.
Andreas

Geändert von shmia (19. Sep 2012 um 15:39 Uhr)
  Mit Zitat antworten Zitat