Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么会出现此错误:java.net.PlainSocketImpl.checkNotClosed(PlainSocketImpl.java:116)?_Java_Android_Sockets_Networking - Fatal编程技术网

为什么会出现此错误:java.net.PlainSocketImpl.checkNotClosed(PlainSocketImpl.java:116)?

为什么会出现此错误:java.net.PlainSocketImpl.checkNotClosed(PlainSocketImpl.java:116)?,java,android,sockets,networking,Java,Android,Sockets,Networking,我正在Android上使用套接字,并且不断收到这个错误 日志: 您可以自己查看源代码-它是: fd是一个文件描述符;为此,我们发现;关于valid()方法: 返回: 如果文件描述符对象表示有效的、打开的文件、套接字或其他活动I/O连接,则为true;否则就错了 所以,长话短说:有些东西已经关闭,不应该关闭。但是,如果没有看到导致此错误的代码/活动,则很难进行进一步的调试 希望这足以让你现在就走 谢谢@GhostCat,但我仍然不清楚是什么导致了套接字或其他文件描述符被关闭。您关闭了套接字,然后

我正在Android上使用套接字,并且不断收到这个错误

日志:



您可以自己查看源代码-它是:

fd是一个文件描述符;为此,我们发现;关于valid()方法:

返回: 如果文件描述符对象表示有效的、打开的文件、套接字或其他活动I/O连接,则为true;否则就错了

所以,长话短说:有些东西已经关闭,不应该关闭。但是,如果没有看到导致此错误的代码/活动,则很难进行进一步的调试


希望这足以让你现在就走

谢谢@GhostCat,但我仍然不清楚是什么导致了套接字或其他文件描述符被关闭。您关闭了套接字,然后继续使用它。可能您不知道关闭输入流或输出流会关闭套接字。就是这样..谢谢@EJP
[xiaomi-mi_4i-a98ed4b2]: E/File couldn't be stored: java.net.PlainSocketImpl.checkNotClosed(PlainSocketImpl.java:116)
[xiaomi-mi_4i-a98ed4b2]: W/System.err: java.net.SocketException: Socket is closed
[xiaomi-mi_4i-a98ed4b2]: W/System.err:     at java.net.PlainSocketImpl.checkNotClosed(PlainSocketImpl.java:116)
[xiaomi-mi_4i-a98ed4b2]: W/System.err:     at java.net.PlainSocketImpl.getInputStream(PlainSocketImpl.java:213)
[xiaomi-mi_4i-a98ed4b2]: W/System.err:     at java.net.Socket.getInputStream(Socket.java:363)
[xiaomi-mi_4i-a98ed4b2]: W/System.err:     at com.rkp.musictest1.wifi.datatransfer.WifiSocket.receiveFileSocket(WifiSocket.java:264)
[xiaomi-mi_4i-a98ed4b2]: W/System.err:     at com.rkp.musictest1.wifi.datatransfer.WifiSocket$4.run(WifiSocket.java:249)
[xiaomi-mi_4i-a98ed4b2]: W/System.err:     at com.rkp.musictest1.wifi.datatransfer.SimpleAsynTask$simpleTask.doInBackground(SimpleAsynTask.java:65)
[xiaomi-mi_4i-a98ed4b2]: W/System.err:     at com.rkp.musictest1.wifi.datatransfer.SimpleAsynTask$simpleTask.doInBackground(SimpleAsynTask.java:23)
[xiaomi-mi_4i-a98ed4b2]: W/System.err:     at android.os.AsyncTask$2.call(AsyncTask.java:288)
[xiaomi-mi_4i-a98ed4b2]: W/System.err:     at java.util.concurrent.FutureTask.run(FutureTask.java:237)
[xiaomi-mi_4i-a98ed4b2]: W/System.err:     at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
[xiaomi-mi_4i-a98ed4b2]: W/System.err:     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
[xiaomi-mi_4i-a98ed4b2]: W/System.err:     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
[xiaomi-mi_4i-a98ed4b2]: W/System.err:     at java.lang.Thread.run(Thread.java:818)
private void More ...checkNotClosed() throws IOException {
    if (!fd.valid()) {
        throw new SocketException("Socket is closed");
    }
}