FIN,ACK nach PSH,ACK

Ich versuche zu implementieren, die eine Kommunikation zwischen einem legacy-system und ein Linux-system, aber ich erhalte immer eine der folgenden Szenarien:

(Die legacy-system-server, der Linux-client)

Function recv(2) returns 0 (the peer has performed an orderly shutdown.)
> SYN
< SYN, ACK
> ACK
< PSH, ACK  (the data)
> FIN, ACK
< ACK
> RST
< FIN, ACK
> RST
> RST

Function connect(2) returns -1 (error)
> SYN
< RST, ACK

Wenn der server schickt seine Daten, sollte der client die Antwort mit den Daten, aber stattdessen bekomme ich ein "FIN, ACK"
Warum ist es so? Wie soll ich das verstehen? Ich bin nicht so vertraut mit TCP auf dieser Ebene

  • Sie müssen sich auf Ihrem client-code.
  • Die FIN könnte piggyback auf die Daten.
InformationsquelleAutor magol | 2012-11-07
Schreibe einen Kommentar