Re: Socket weirdness




| Understood now. RST is sent; ACK doesn't matter since it would be in the
same header anyway. What's important is the RST (and ACK
| probably shouldn't be set, for that matter)

Back to the beginning I think.. RST is set, not sent independently AFAICT.
There can be no RST set unless it is set in an ACK packet of the client's
first send (in this case). If the client never sends anything after server
did close, client would never see the RST - which now makes sense.
Example:

1) Server closes Receive.
2) Client does a send. Does not block on either Send or BeginSend.
2a) Client may do another send as RST has not been "seen" yet by the
client.
4) Client gets the ACK of first Send which has the RST set in the header.
5) Bang. Future Sends/Receive at client will error because server's RST has
been processed.

--wjs


.



Relevant Pages

  • Re: How TCP handle (RST,SYN) at initial connection establishment
    ... > SYN) or (RST, ACK) or simply RST upon receiving of any ... > SYN request towards victim server. ... > acceptable if the ACK field acknowledges the SYN." ... The "client", during the three-way handshacking, starts in CLOSED state, ...
    (Security-Basics)
  • Re: Socket weirdness
    ... |>>> with a packet with the RST flag set. ... Again the client application can be doing sends, ... you may not see that ACK until after 1 or 2 ... will get the ACK with the RST set and the next send/receive will fail. ...
    (microsoft.public.dotnet.framework)
  • Re: Socket weirdness
    ... If RST is at the top of the stack before the ... RST is not "seen" by the client until the first ACK to client *after ... a Shutdown.Receive by the server. ... some N factor of stocks or time and closes socket. ...
    (microsoft.public.dotnet.framework)
  • Re: Socket weirdness
    ... What's important is the RST (and ACK ... client would never see the RST - which now makes sense. ... Server closes Receive. ...
    (microsoft.public.dotnet.framework)
  • RE: CAsyncSocket performing RST on Connect()
    ... I have a windows client that opens a tcp connection and sometimes ... the connection underneath sends a RST just like in your trace. ...
    (microsoft.public.win32.programmer.networks)

Loading