Java 插座异常:按下后退按钮后插座关闭
我正在写一个应用程序,它应该在后台工作。当我按下手机上的“后退”按钮时,我与服务器的套接字连接关闭,出现异常。按下“后退”按钮后是否有可能不关闭插座连接 以及我在Receiver类中的代码: 第40行是:whilenumBytes=inputStream.readbyteArr!=-一,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
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);
}
}