|
||||||||
|
|
|||||||
![]() |
|
|
Thread Tools | Display Modes |
|
#1
|
|
Hi,
If two TCP stream socket opened on two different hosts connected ok, then the network cable was cut off. One endpoint will in sometimes write some data into its socket. Of course, these packets sent out will not get any ACKs, my question is: in this case, will the socket in the sending end noticed this kind of failure and close the socket for the calling program? If so, how long will this happen? (Supposing the keeep-alive option is off) Thanks. - narke Steven Woody |
|
#2
|
|||
|
|||
|
On Jul 1, 2:16*am, Steven Woody <narkewo...@gmail.com> wrote:
> Hi, > > If two TCP stream socket opened on two different hosts connected ok, > then the network cable was cut off. *One endpoint will in sometimes > write some data into its socket. *Of course, these packets sent out > will not get any ACKs, my question is: in this case, will the socket > in the sending end noticed this kind of failure and close the socket > for the calling program? *If so, how long will this happen? > (Supposing the keeep-alive option is off) Yes, the error will be "send timed out" or its equivalent. The exact amount of time depends upon the exact settings on each end, but 50 seconds to 4 minutes is typical. Note that TCP does not guarantee that an end that does not send data can detect a connection loss. The connection is only tested so long as there is unacknowledged outbound data. DS |
|
#3
|
|||
|
|||
|
On Jul 1, 6:12 pm, David Schwartz <dav...@webmaster.com> wrote:
> On Jul 1, 2:16 am, Steven Woody <narkewo...@gmail.com> wrote: > > > Hi, > > > If two TCP stream socket opened on two different hosts connected ok, > > then the network cable was cut off. One endpoint will in sometimes > > write some data into its socket. Of course, these packets sent out > > will not get any ACKs, my question is: in this case, will the socket > > in the sending end noticed this kind of failure and close the socket > > for the calling program? If so, how long will this happen? > > (Supposing the keeep-alive option is off) > > Yes, the error will be "send timed out" or its equivalent. The exact > amount of time depends upon the exact settings on each end, but 50 > seconds to 4 minutes is typical. > > Note that TCP does not guarantee that an end that does not send data > can detect a connection loss. The connection is only tested so long as > there is unacknowledged outbound data. > > DS Thank you. I understood. |
![]() |
| Tags |
| failed, happened, retring, sending, tcp |
| Thread Tools | |
| Display Modes | |
|
|