Итак, я создаю сокет в моей службе, который запускается из действия.Сокет подключается к моему серверу и ждет сообщений, которые не являются периодическими, они отправляются, когда я их записываю. Сначала сообщения принимаются нормально, когда запускается служба, но после того, как я оставляю телефон один и не отправляю никаких сообщений,когда экран становится пустым, исключение ввода-вывода отключается для InputStream.readLine (), что означает, что сокет мертв, я полагаю.Процесс все еще работает и продолжает работать, когда это происходит.Это нормальное поведение?Я думал, что получу как минимум 20, 30 минут до смерти Гнезда, а не несколько секунд.
Socket mSocket=new Socket(InetAddress.getByName("192.168.1.104"),4444);
BufferedReader in=new BufferedReader(new InputStreamReader(mSocket.getInputStream()));
String message;
try {
while((message=in.readLine())!=null){
notify(message);
}
} catch (IOException e) {
notify("socket dead");
}