Duplicate :
|
|
Duplicate :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
The number of opened files used in select() on MacOSX is limited to 1024 (FD_SETSIZE). The following sequence can illustrate the problem: 1. Open 1023 files (use FileInputStream()) 2. Create socket and try to read from it. 3. Get the following exception: Exception in thread "main" java.net.SocketException: Invalid argument at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:150) at java.net.SocketInputStream.read(SocketInputStream.java:121) at java.io.BufferedInputStream.fill(BufferedInputStream.java:235) at java.io.BufferedInputStream.read1(BufferedInputStream.java:275) at java.io.BufferedInputStream.read(BufferedInputStream.java:334) at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:633) at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:579) at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:604) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1322) at SelectFdsLimit.main(SelectFdsLimit.java:86)
|