Einzelnen Beitrag anzeigen

ddcool

Registriert seit: 8. Jun 2003
146 Beiträge
 
Delphi XE2 Architect
 
#1

Netzwerk Latenz simulieren

  Alt 29. Jan 2013, 20:21
hallo liebe DPler,

ich hätte da mal eine Frage an die Super-Gehirne hier im Forum.
Ich bin gerade dabei ein kleines Tool zu schreiben, welches via Sockets als Server agiert und TCP Verbindungen entgegen nimmt.
Auf der anderen Seite hat es einen Client Socket der sich wiederum zu einem vordefinierten Server verbindet und den Datenverkehr
vom Socket Server transparent durchschleusen soll (und natürlich auch anders herum). Dies klappt soweit auch problemlos.
Ziel ist es dann, dass mein Tool die Pakete mit einem vordefinierten Delay verschickt, um eine Latenz im Netzwerk zu simulieren.

Mein Problem besteht darin, dass ein Client sich verbindet und natürlich sofort seinen TCP Handshake mit dem Server vollzieht.
Nun muss aber mein Tool erst die Verbindung (Client Socket) hergestellt haben um die Daten weiterleiten zu können, bevor der eigentliche
Client überhaupt Daten senden darf. Dies ist meiner Meinung nach nur zu bewerkstelligen, wenn man den TCP Handshake beim Server Socket
irgendwie verzögern kann. Also das SYN-ACK sollte so lange aufgehalten werden, bis der Client Socket seine Verbindung hat.

Ist das mit Sockets überhaupt möglich und wenn ja, wie?

Hier eine kleine Zeichnung, falls meine Beschreibung nicht einleuchtend ist ^^
Zur Info,

Programm XY ---> (ServerSocket:1477)MeinProgramm(ClientSocket:3389) ---> Server XY

Viele Grüße,
ddcool
  Mit Zitat antworten Zitat