Windows XP SP3 TCP/IP No buffer space available
I have the exactly same problem as here: Windows XP TCP/IP No buffer space available
On Windows XP Pro, SP3 if one does an experiment where one tries to open TCP/IP sockets in a loop (bascially, listen port 7000, listen port 7001, etc.)
After approx 649 open sockets, one will start getting errors: No buffer space available (maximum connections reached?)
I’ve tried to edit the registry as described here http://smallvoid.com/article/winnt-tcpip-max-limit.html I set MaxUserPort = 65534 and MaxFreeTcbs = 2000, but it didn’t help.
What else can I do? I need 1000 server sockets.
Here is the error stack:
05.04.2012 10:23:57 java.net.SocketException: No buffer space available (maximum connections reached?): listen
at sun.nio.ch.ServerSocketChannelImpl.listen(Native Method)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:127)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:52)
at channelserver.NIOAppServer.initSelector(NIOAppServer.java:40)
at channelserver.NIOAppServer.(NIOAppServer.java:27)
at channelserver.NIOServer.main(NIOServer.java:433)
at channelserver.NIOServer.main(NIOServer.java:438)
Just in case someone would face this problem too.
Finally it seemed to me that it’s just WinXP’s problem. I’ve tried the same code with more RAM – results were the same. But when I’ve tried it on Win7, everything worked fine even with 1200 sockets.
So, WinXP is just not suitable for such tasks.
Check more discussion of this question.
Related posts:
- Windows XP TCP/IP No buffer space available
- TCP buffer size analysis
- How to prevent WSEACCESS error on Send via raw socket on Windows XP SP3 for normal user accounts
- Failed PCI Compliance – Port: 21 Protocol: tcp | Summary : attempts some buffer overflows
- How do I setup a TCP over DNS tunnel on Windows?





