0
votes

I got a problem about WinSock. The situation as follow:

In LAN, different subnet, Server listen on port using non-blocking socket, 1000 clients connect to Server, also non-blocking. Network packet capture show nearly all connection is established, but Server reset the connection before accept() invoked in several milliseconds after three-way handshake finished. This issue appears in larger amount of clients only, when I reduce the client count to 100, no reset.

Is there any reason connection reset occurred after connection established without any other further operations?

NOTE: I google this issue already, but no help. And, of course, SO_LINGER is not used in Server. Even if SO_LINGER is used in Server, but accept() is not invoked yet, it makes no sense!

It takes me two days, so you couldn't image how grateful if your advice help me out!

1

1 Answers

0
votes

What have you configured the listen backlog to be on the listening socket?

It's most likely too low.

Is is REALLY realistic to test for 1000 concurrent connection attempts?

I talk about setting realistic goals for server connection testing here on my blog: http://www.serverframework.com/asynchronousevents/2010/10/how-to-support-10000-or-more-concurrent-tcp-connections---part-2---perf-tests-from-day-0.html