在我的程序中,电脑不断向我的安卓手机发送数据。每次 pc 发送 62 个字节(24 个用于头部,38 个用于内容)。我的程序运行良好。但有时我的手机可以读取 24 个字节的头部,而只能读取 10 个字节的内容。
我通过非阻塞套接字通道接收数据。
private SocketChannel client = null;
public int read(byte[] data,int offset, int len){
try {
ByteBuffer buffer = ByteBuffer.allocate(len);
int read_len = client.read(buffer);
if(read_len == 0){
}else if(read_len == -1){
}else{
buffer.flip();
buffer.get(data, offset, read_len);
}
return read_len;
} catch (IOException e) {
e.printStackTrace();
}
return -2;
}
我怎么解决这个问题?