мой Android-смартфон - tcpclient, а модуль чипкита wf32 wifi - это мой tcp-сервер.
int bytesRead;
InputStream inputStream = socket.getInputStream();
while ((bytesRead = inputStream.read(buffer)) != -1){
byteArrayOutputStream.write(buffer, 0, bytesRead);
response += byteArrayOutputStream.toString("UTF-8");
}
Вышеприведенный код считывает данные из потока и копирует в буфер. Если данные не поступают, он будет блокироваться. Но иногда я получаю -1. Может ли кто-нибудь объяснить причину получения -1? В документе упоминается "конец потока достигнут". Но можете ли вы объяснить смысл этого? Спасибо.
В случае сокета это означает, что сверстник закрыл свой конец соединения или, по крайней мере, отключил его для вывода.
NB
response += byteArrayOutputStream.toString("UTF-8");
должен находиться вне цикла. Я уже говорил вам об этом, в другом из ваших многочисленных тем по этой теме.