Einzelnen Beitrag anzeigen

Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

Indy TCP - Warten bis die Gegenseite zugemacht hat

  Alt 5. Mär 2018, 19:10
Ich bin kein Netzwerkprofi. Deswegen bin ich verwirrt.

Ich habe einen Indy (TIdTcpClient ), nennen wir ihn A und die Gegenseite B. Ich baue die Verbindung ab indem ich sage client.Disconnect(True); In Wireshark sehe ich (von oben nach unten):

Code:
+========+=============+===========+
| Source | Destination | TCP-Flags |
+========+=============+===========+
| A      | B           | FIN, ACK  |
+--------+-------------+-----------+
| B      | A           | ACK       |
+--------+-------------+-----------+
|  tcpClient.Connected() = false   |
+--------+-------------+-----------+
| B      | A           | FIN, ACK  |
+--------+-------------+-----------+
| A      | B           | ACK       |
+--------+-------------+-----------+
Mein Problem an der Sache:

Aus Delphi/Indy-Sicht ist die Verbindung schon geschlossen nachdem ich mein FIN abgesetzt habe.

Ich möchte allerdings noch bewusst warten bis die Gegenseite auch FIN gesagt hat, denn ich bin höflich.

Wie mache ich das?
  Mit Zitat antworten Zitat