geebv
@geebv

Как лучше отправлять статистические данные? Через сокет или UDP пакетами?

Передается через GSM-модуль. Устройство не планируется передвигаться - будет стоять на месте. Передаваться планируется раз в 5 секунд 1кб не более. Критично что бы периодичность сохранялась.
  • Вопрос задан
  • 303 просмотра
Пригласить эксперта
Ответы на вопрос 2
Rou1997
@Rou1997
UDP - это тоже "сокет", вы выбираете между TCP и UDP, лучше TCP, но периодичность, как и доставку пакетов неповрежденными при проблемах с сетью (отключение после начала отправки или слишком низкая скорость) он не гарантирует, это вы должны сами реализовать, чтобы была чек-сумма и она проверялась, при проблемах принимающая сторона перезапрашивала пакет (и пакет "перезапрос" тоже с чек-суммой и так до бесконечности, пока не придет целый пакет), о размерах буфера позаботьтесь если он разный то реализуйте границы например отправкой в первых байтах пакета его размера в байтах, еще необходима авторизация, так как в любой момент к серверу может подключиться какой-то бот и все испортить попытавшись отправить HTTP-запрос например.
Ответ написан
Комментировать
begemot_sun
@begemot_sun
Программист в душе.
Периодичность вам никто не сможет гарантировать, т.к:
1. В случае использования UDP -- пакет просто может потеряться по дороге.
2. В случае использования TCP, если пакет потеряется то TCP-стек это обнаружит и попросит отправить его еще раз, другой вопрос что обнаружить он это сможет не через 5 или 10 сек, а много позже. Т.о. периодичность будет нарушена.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы