С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
A_Klinsky
0 / 0 / 0
Регистрация: 24.11.2015
Сообщений: 2
#1

Как устранить возрастающую задержку при отправке данных через EDGE (2G)? - Программирование Android

24.11.2015, 14:04. Просмотров 222. Ответов 2

Вопрос к гуру клиент-серверных приложений для мобильных сетей.
Eсть клиент-серверное приложение под андроид. Клиент под Android с периодичностью раз в 100 ms отправляет UDP пакет (около 100 байт) на сервер. Одним полем данных пакета является timestamp. Время на клиенте и сервере синхронизированно. В качестве сети используется EDGE мобильного оператора. На сервере каждую секунду сравниваем timestamp полученный от клиента с текущим временем и получаем следующую картину:

Время клиента 17:30:01, время сервера 17:30:01
Время клиента 17:30:02, время сервера 17:30:02
Время клиента 17:30:03, время сервера 17:30:04
Время клиента 17:30:04, время сервера 17:30:05
Время клиента 17:30:05, время сервера 17:30:06
Время клиента 17:30:06, время сервера 17:30:07
Время клиента 17:30:07, время сервера 17:30:08
Время клиента 17:30:08, время сервера 17:30:11
Время клиента 17:30:09, время сервера 17:30:11
Время клиента 17:30:10, время сервера 17:30:11
Время клиента 17:30:11, время сервера 17:30:20
Время клиента 17:30:12, время сервера 17:30:20
Время клиента 17:30:13, время сервера 17:30:20
Время клиента 17:30:14, время сервера 17:30:21
Время клиента 17:30:15, время сервера 17:30:22
Время клиента 17:30:16, время сервера 17:30:23
Время клиента 17:30:17, время сервера 17:30:24
Время клиента 17:30:18, время сервера 17:30:25
Время клиента 17:30:19, время сервера 17:30:26
Время клиента 17:30:20, время сервера 17:30:27
Время клиента 17:30:21, время сервера 17:30:28

После возникновения лагов на 8й и 11 секунде пакеты начинают передаваться с 20й секунды. В итоге получаем статическую задержку в получении пакетов в 7 секунд. При последующем возникновении лагов эта задержка существенно возрастает. Притом очередь исходящих сообщений формируется на клиенте, т.к. если клиент отключить от сети запоздавшие пакеты приходить не будут. Ищу ответ как сделать , чтобы сгенерированные пакеты во время лага не отправлялись в сети или не копились в буфере. Нужно получать максима Пробовал изменять значение SO_SNDBUF в опциях сокета на клиенте вплоть до нуля, но эффекта небыло.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.11.2015, 14:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как устранить возрастающую задержку при отправке данных через EDGE (2G)? (Программирование Android):

Соединение данных при отправке через сокет - C++ Builder
Доброго времени суток. Сейчас возникла непредвиденная проблема, сокет начал отправлять сообщения сгрупированно, то есть ...

Закрывается база данных при отправке почты через outlook - MS Access
Всем доброе утро! Прошу помощи в решении такой проблемы. Есть разделенная, многопользовательская БД построена в 2010 офисе. ...

Структура данных через STDIN при отправке параметров методом POST - Web
Любопытна структура данных при отправке веб-сервером CGI-приложению параметров методом POST через STDIN. Как там кодируется поток...

Требуется устранить полсекундную задержку ... - Visual Basic
Ситуация такая. Жмем клавишу и удерживаем ее. Что происходит ? Печатается строка одинаковых символов. Но после первого символа...

Как прицепить картинку при отправке данных под MSXML? - Visual Basic
В программе осуществляется отправка данных на web-сервис в XML, где поля = полям формы. web-сервис (трациц. ASP), в свою очередь,...

Как сделать чтобы при отправке данных переходили на другую страницу - PHP
Есть такой код отправки данных: <?php $result = mail("*******@yandex.ru","Заказ","Была получена анкета: \nИмя: {$_POST } ...

2
Pablito
2534 / 2013 / 627
Регистрация: 12.05.2014
Сообщений: 7,068
Завершенные тесты: 1
24.11.2015, 15:11 #2
Цитата Сообщение от A_Klinsky Посмотреть сообщение
Ищу ответ как сделать , чтобы сгенерированные пакеты во время лага не отправлялись в сети или не копились в буфере.
а если лаг где-то по пути от клиента к серверу?
риторический вопрос -лаги отследить или предсказать нереально
0
A_Klinsky
0 / 0 / 0
Регистрация: 24.11.2015
Сообщений: 2
24.11.2015, 15:25  [ТС] #3
Если лаг на полпути, то ничего не поделаешь. Я экспериментально установил, что в описанном случае при возникновении лага данные не отправленные в сеть хранятся на стороне мобильного клиента. задача - более менее адаптировать приложение к сети EDGE. Ввиду специфики трафика изменить частоту отправки или размер сообщения нельзя. Ищу способ каким-либо образом повлиять на исходящую очередь сообщений со стороны мобильного клиента. Дропы допустимы, а возрастающая задержка нет. Первое что пришло в голову это SO_SNDBUF. Если есть еще какие-то техники управлением исходящей очередью, то прощу их сообщить.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.11.2015, 15:25
Привет! Вот еще темы с ответами:

Как в браузере (в любом) изменить способ кодирования данных при отправке форм методом GET? - Web
браузеры используют старые методы кодирования строк при отправке форм методом GET, в частности пробелы интерпретируются как знак "+". Разве...

Как можно сделать чтобы при отправке данных была подстановка значений после ID - JavaScript
Добрый день! Скажите, возможно ли такое. Есть форма на html: <form action="" method="GET" > <select id="category_select"...

1C 8.x Ошибка при отправке письма через 1с - 1С
Всем привет! У меня возникла проблема еще летом сделал курсачь по отправке отчета по зароботной плате в банк, ну вместо банка я отправлял...

При серфинге через браузеры (Microsoft Edge, Yandex browser, Chrome) происходит переадресация на prizebot - Удаление вирусов
Здравствуйте. Такая проблема возникла. При серфинге через любые браузеры (Microsoft Edge, Yandex browser, Chrome) происходит переадресация...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.