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?