У меня есть сокет под названием "clientSock". Он подключен и работает.
Я получаю данные, используя цикл в потоке следующим образом:
char[] inputChars = new char[1024];
int charsRead = 0;
while (!stopNow) {
try {
if ((charsRead = inputStream.read(inputChars)) != -1)
{
System.out.println("Firing");
fire_dataRecieved(new String(inputChars, 0, charsRead)); //Fire event.
}
} catch (IOException e) {
//CLIENT HAS DISCONNECTED...
connectedClient.disconnect();
stopNow();
}
}
Я думаю об отправке пакета "keep alive", просто отправив "# KEEP-ALIVE" на другой конец.
Я могу сделать это, используя sendStream.print("#KEEP-ALIVE")
. Есть ли лучший способ сделать это? Если нет, есть ли эффективный способ проверить, получили ли вы пакет? Или что-то там, что позволяет вам проверить, жив ли другой конец? clientSock.setKeepAlive(true)
не режет это для меня. Мне нужно проверить, жив ли другой конец по требованию.