Disinterested curiosity...
In Java I listen on a socket, with backlog of 1:
ServerSocket ss = new ServerSocket(4000, 1);
In shells I run
netcat localhost 4000
many times - 5 so far.
The connections are never rejected. Every instance of netcat
sits and waits until my ServerSocket is destroyed.
Backlog length is 1 - that means it should only let one incoming connection queue up, and then reject, does it not? ((I don't know if the queue includes the first one - not important right now.))
I know I can make this work by closing the ServerSocket (and then opening another one when I'm ready), but... shouldn't it work anyway?
Have I misunderstood?