From: Sridhar S. <sr...@us...> - 2003-11-10 19:06:13
|
On Fri, 7 Nov 2003, Hanping Long wrote: > Hi, > > I have one question regarding the connect() call. > For the nonblocking socket in LKSCTP, will connect() block as TCP does? > If yes, how long will it block(I mean how many RTT)? > Will it the same as graceful shutdown close() call? It is not true that TCP blocks even when a TCP socket is set nonblocking. It returns immediately with EINPROGRESS error. The same is true with SCTP socket set to nonblocking. In case of a blocking socket(which is the default), connect() blocks until the association is established(4-way handshake is completed) or the connection is refused. close() by default doesn't block for the graceful shutdown completion. It simply starts the shutdown process by sending a SHUTDOWN and returns. But it can be made to block using SO_LINGER socket option where you can specify the max. duration for which to block using linger time. Thanks Sridhar |