Страница 1 из 1

Передача данных через WiFi на PC.

Добавлено: 08 дек 2013, 11:20
leopold
Добрый день всем! Большая просьба помочь - голову уже сломал, не знаю в какую сторону копать.
Кратко в чем проблема:
Приложение передает данные события onTouch на сервер ПК с помощью UDP. Иногда появляется задержка в передаче, т.е. данные не доходят на ПК, но с телефона вроде как должны уходить, т.е. вывожу в LogCat исходящее сообщение после вызова метода DatagramPacket.send(message) - вижу что они уходят, но на компьютере в консоли не появляются. Эта задержка длится примерно секунду, потом все продолжает передаваться нормально.
Понимаю что для UDP потери - нормально, но: до этого использовал TCP (сглупил конечно - передавать real-time данные лучше с UDP) и была аналогичная проблема - случайным образом происходила задержка, а потом кучей доходили сообщения которые отправлялись в это время с телефона (еще раз уточню - судил об отправке сообщений по выводу в логи после вызова метода send у UDP, у TCP println ).

Мысли по этому поводу:
- Когда использовал TCP грешил на алгоритм Нейгла, но после смены протокола проблема осталась (установка setTcpNoDelay(true) не помогла).
- Если имеет место какая-то проблема синхронизации потоков отправки сообщений и пользовательского интерфейса из которого сообщения шлются - то почему в логи выводится нормально.
- Возможно слишком часто отправляю данные - интервал отправки >=20 ms

Какие есть мысли по этому поводу? Буду рад любой подсказке - сам уже запутался что-то.
Если нужны какие-либо уточнения, пишите, а то и без того много тут "начиркал" :)

Re: Передача данных через WiFi на PC.

Добавлено: 11 дек 2013, 20:41
altwin
почему не хотите попробовать что то вроде http://netty.io/?
udp -вы уж простите, но это бред хотя бы потому, что он не гарантирует доставку. Чем вам RTCP не угодил то? в связке с netty все может быть... есть либы вроде https://github.com/brunodecarvalho/efflux(примеры тут -https://github.com/brunodecarvalho/effl ... /test/java) и кстати UDP тоже можно юзать. но смысл если потери гарантированы то ? ;)

Re: Передача данных через WiFi на PC.

Добавлено: 16 дек 2013, 08:35
leopold
altwin писал(а):...udp -вы уж простите, но это бред ...
Подтверждение доставки пакетов в данной задаче мне не нужно, так что использование UDP - не бред.
Проблема решилась именно использованием UDP, просто при тестировании использовали ноутбук как точку доступа - видимо ограничения системы или фаервола дали о себе знать.
Спасибо за ответ :)