Java 获得;[CDS]在读取时关闭输入;在logCat中
我有一个android应用程序,我正在开发,在某个阶段,我得到了Java 获得;[CDS]在读取时关闭输入;在logCat中,java,android,sockets,android-networking,Java,Android,Sockets,Android Networking,我有一个android应用程序,我正在开发,在某个阶段,我得到了 “[CDS]在我的日志查看器中连续以读取方式关闭输入” 这意味着什么?我做错了什么导致这条信息出现 我有一个线程在检查流 Thread thread = new Thread(new Runnable() { public void run() { while (true) { mySocket.ReadFromSocket();
“[CDS]在我的日志查看器中连续以读取方式关闭输入”
这意味着什么?我做错了什么导致这条信息出现
我有一个线程在检查流
Thread thread = new Thread(new Runnable() {
public void run() {
while (true) {
mySocket.ReadFromSocket();
try {
Thread.sleep(500);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public byte[] ReadFromSocket() throws IOException {
if (socketState == SocketState.CONNECTED) {
byte[] buffer = new byte[1024];
int noOfBytesRead = nis.read(buffer, 0, 1024); // This is blocking
while (noOfBytesRead == -1) {
noOfBytesRead = nis.read(buffer, 0, 1024); // This is blocking
try {
Thread.sleep(50);
} catch (InterruptedException e) {
}
}
byte[] tempdata = new byte[noOfBytesRead];
System.arraycopy(buffer, 0, tempdata, 0, noOfBytesRead);
return tempdata;
} else {
throw new IOException("Socket Not Connected");
}
}
每当TCP连接试图从缓冲区读取数据,而另一端已断开连接时,就会显示此错误消息。如果要发送数据,通常在超时后。checkError()将返回truenope none。我放弃了那段特定的代码,事实上,我试图关闭套接字,关闭输入,中断线程,但没有任何效果。事实上,即将到来的行动将卸载和重新安装的应用程序,我担心他们仍然存在