Ооо... Связь Wifi на Android тот еще геморрой. Особенно для Android 5.0... (еще зависит от девайса)... Мы замучались с этим...
Я реализовывал "пинги/понги" для сокета для каждой из сторон (т.е. и клиент шлет серверу "пинги" -сервер отвечает "понгами",
и сервер шлет клиенту со своей стороны "пинги" - а сервер отвечает "понгами").. Где пинги/понги - это какие-то мои служебные пакеты.
Но, скажу честно, это не особо помогало, т.к. было что-то непонятное с TCP на Андройд девайсах. Например, после коннекта Андройда
к серверу, сервер посылает в Андройд некие пакеты данных.. так вот, Андройдный QTcpSocket никак не реагирует на входящие данные
(не стреляет readyRead())... этак секунд 25-40... а потом сразу выстреливает всю пачку накопленных пакетов..
Ковыряние с алгоритмом Нейгла ни к чему не привело... Странно еще то, что в Android 4.x вроде все нормуль, а вот в 5.0 такое поведение.
С чем это связано - я без малейшего понятия: то-ли что-то в Qt-шном биндинге и очереди сообщений (хотя, QTimer работает исправно,
события не задерживаются, значит с очередью все нормуль).
Пробовал также и отключать Sleeping режим, и держать включенным CPU и прочее через Java код - но все бестолку.
В гугле где-то видел упоминание, что это "касяк" самого Андройда.. но глубоко не копал.
К чему это я все говорю: к тому что вот еще что может вылезти! И, может быть, у твоей проблемы тоже ноги отсюда
растут!