Java 插座异常:按下后退按钮后插座关闭

Java 插座异常:按下后退按钮后插座关闭,java,android,sockets,exception,Java,Android,Sockets,Exception,我正在写一个应用程序,它应该在后台工作。当我按下手机上的“后退”按钮时,我与服务器的套接字连接关闭,出现异常。按下“后退”按钮后是否有可能不关闭插座连接 以及我在Receiver类中的代码: 第40行是:whilenumBytes=inputStream.readbyteArr!=-一, 05-25 22:32:37.990: E/Receiver(7505): Read: Error 05-25 22:32:37.990: E/Receiver(7505): java.net.SocketEx

我正在写一个应用程序,它应该在后台工作。当我按下手机上的“后退”按钮时,我与服务器的套接字连接关闭,出现异常。按下“后退”按钮后是否有可能不关闭插座连接

以及我在Receiver类中的代码:

第40行是:whilenumBytes=inputStream.readbyteArr!=-一,

05-25 22:32:37.990: E/Receiver(7505): Read: Error
05-25 22:32:37.990: E/Receiver(7505): java.net.SocketException: Socket closed
05-25 22:32:37.990: E/Receiver(7505):   at libcore.io.Posix.recvfromBytes(Native Method)
05-25 22:32:37.990: E/Receiver(7505):   at libcore.io.Posix.recvfrom(Posix.java:161)
05-25 22:32:37.990: E/Receiver(7505):   at libcore.io.BlockGuardOs.recvfrom(BlockGuardOs.java:250)
05-25 22:32:37.990: E/Receiver(7505):   at libcore.io.IoBridge.recvfrom(IoBridge.java:553)
05-25 22:32:37.990: E/Receiver(7505):   at java.net.PlainSocketImpl.read(PlainSocketImpl.java:485)
05-25 22:32:37.990: E/Receiver(7505):   at java.net.PlainSocketImpl.access$000(PlainSocketImpl.java:37)
05-25 22:32:37.990: E/Receiver(7505):   at java.net.PlainSocketImpl$PlainSocketInputStream.read(PlainSocketImpl.java:237)
05-25 22:32:37.990: E/Receiver(7505):   at java.io.InputStream.read(InputStream.java:162)
05-25 22:32:37.990: E/Receiver(7505):   at stas.tcp.client.Receiver.run(Receiver.java:40)
05-25 22:32:37.990: E/Receiver(7505):   at java.lang.Thread.run(Thread.java:818)
public void run() {
    int numBytes = 0;

    try {
        Log.e("Receiver","");
        while((numBytes = inputStream.read(byteArr)) != -1) {
            if(!flag){
                Log.e("Receiver - thread", "break");
                break;
            }
            for(int i = 0; i < numBytes; i++) {
                pouartSupport.storeChar(byteArr[i]);
                pouartSupport.checkPacket();
            }
        }
    } catch (Exception e) {
        Log.e("Receiver", "Read: Error", e);
    }
}