问题
I'm getting a "SocketException: Bad file number" while attempting to read from a socket in an Android app and I have no idea what this means. I've googled it and haven't found any explanation of what it is. Any ideas? Thanks.
回答1:
This is usually the result of the underlying socket being closed. The "number" is because file handles in the underlying C code use file numbers to identify handles. The socket may be closed by you, but it may also be closed by security exceptions, flaky network, etc.
回答2:
Do you have something like this in your code ?
httpClient.getConnectionManager().shutdown();
In my case, I had to shutdown my connectionManager AFTER getting the response
来源:https://stackoverflow.com/questions/5609688/android-what-is-a-bad-file-number-socketexception