ich schicke aus meinem Programm (Client) ein TCP Datenpaket an einen Server und moechte ein Paket ans Antwort zurueckbekommen. Grundsaetzlich funktioniert das, wenn ich aber zwei Client-Prozesse starte, kommt die Antwort an irgendeinen der beiden zurueck. In Wireshark sehe ich auch, dass die Antwort an unterschiedliche lokale Ports geht, wenn ich ich das erste Paket aus unterschiedlichen Instanzen des Clients abschicke.
Ich frage mich daher, was ich bei folgendem (Pseudo-)Code falsch mache:
Code: Alles auswählen
uses Blcksock;
// ...
MeiTCPBlockSocket := TTCPBlockSocket.Create;
MeiTCPBlockSocket.Connect(RemoteHost, RemotePort);
MeiTCPBlockSocket.ResetLastError;
// ...
MeiTCPBlockSocket.SendBuffer(@XCom, SizeOf(XCom));
// ...
BufferSize := MeiTCPBlockSocket.WaitingData;
SetLength(Buffer, BufferSize);
MeiTCPBlockSocket.RecvBufferEx(@Buffer[0], BufferSize, 2500);
// ...
MeiTCPBlockSocket.CloseSocket;
FreeAndNil(MeiTCPBlockSocket);
Dankeschoen