небольшой оффтоп: мобилки с java
с сокетом работает 1 тред, который его постоянно слушает (читает, доступны только блокирующие операции), временами из основного треда в этот сокет что-то пишется. Все работает идеально, пока... пока не запускается через gprs, где соединение постоянно рвется, пинги по 30 секунд временами и похоже какое-то буфферизирование, поскольку данные приходят потом большими пачками. Поскольку приложение мобильное, то это безобразие надо как-то решить...
Я вот думаю завести еще один тред, который будет долбить соединение пингами (отдельными запросами) и если за 10 секунд ничего с сервера не получено, то будет рвать и пересоединять сокет. Но при такой схеме непонятно, прошли данные или нет... А если буфферизация большая, то есть риск вообще постоянно флудить запросами, так как приложение будет считать, что данные не прошли.
Мало того, что тред добавлять не охота (мобилки же), так и проблему с буфером это не решает... Подскажите чего?
это не только мои кривые руки, бомбус глючит временами аналогично.