Hi I have very ugly problem with: java.net.SocketException: No buffer space available (maximum connections reached?) It is client-server app. Client is Windows XP SP2 32
What we tried (and successfully) kill the problem.
JAVA
- check again every socket we used, register them in some special class if needed
- provide SocketFactory and ServerSocketFactory for every class which open socket itself (for example jboss Connectors)
- check opened files, close them in finally
- URL opens connection too, but if you ask for stream after that, connection is closed together with stream (thanks Stephen).
OS
- use different java (1.5, 1.6, 1.7)
- install new drivers
- use netstat and monitor traffic on background (using scripts, yes win xp can do the scripts pretty nicely). Use advanced packet sniffers (wire shark?) if needed.
- win xp have limit for concurrent connections, check them (google) too
- check again and again for virus and mallware (even on private network!)
It certainly sounds like you are leaking Sockets somehow in your app.
finally
block.After reading the advice offered in this link! I was able to determine that I was using isDisplayed() way too often in too short of a time. Therefore, I placed a 5 millisecond wait between calls to isDisplayed. This fixed my Socket Exception issue.
for (final WebElement person: persons){
if (person.isDisplayed()){
dosomething;
sleep 5 milliseconds
}
}
As stated in the link you should insert a try catch just in case this wait is not long enough.