Hello,

according to the definition of SO_BACKLOG below, the connection would be 
refused in case of the queue is full, how it refuse the connection? would 
the server send a TCP message to the client, and then the client would send 
a re-connection when received the connection refuse/timeout error?

*Description of SO_BACKLOG option:*

The maximum queue length for incoming connection indications (a request to 
connect) is set to the backlog parameter. If a connection indication 
arrives when the queue is full, *the connection is refused*.


On Thursday, July 20, 2017 at 2:50:30 PM UTC+8, Ronggen Liu wrote:
>
> Hello,
>
> *problem*:
> some connections were lost when there are too many clients were trying to 
> connect to the server during a short time, for example, send out about 10k 
> connections during about 3 seconds.
>
> *findings:*
> as i know, all the connections would be accepted in method doReadMessage of 
> NioServerSocketChannel, and, in fact, we did find out that some 
> connections were not accepted from there, but, actually, the TCP have been 
> created successfully with completed 3-ways handsharke. 
> meanwhile, we found, to some degree, we can avoid this issue by increasing 
> the option SO_BACKLOG of ChannelOption, currently, we set it with 8, 
> should be a little bit low.
>
> *questions:*
> how to handle this issue? as i know, the client should receive connection 
> refused error when the number of the connections exceed the SO_BACKLOG, but 
> the client didn't receive it.
>
> Thanks,
> Gary
>

-- 
You received this message because you are subscribed to the Google Groups 
"Netty discussions" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/netty/2aea1140-a98f-471e-bf01-7412b5bbe4c8%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to