Использует ли открытое соединение через сокет TCP данные, когда они не используются?

1604
Lost in OWL

У меня установлено соединение через сокет TCP между моим сервером и модемом, на котором установлены активный модуль GSM и SIM-карта.

Я создаю это беспроводное соединение 3G через socat:

/usr/bin/socat open:/dev/ttyVA8500,nonblock,echo=0,raw TCP-LISTEN:8500,reuseaddr,fork 

Эта маленькая команда прослушивает TCP-соединения через порт 8500 и записывает данные в виртуальный последовательный порт /dev/ttyVA8500. Теперь, когда я пишу в виртуальный последовательный порт на моем сервере, данные будут отправлены на модем, который затем отправит ответ.

Эта связь стоит трафика. Я вижу этот трафик в инструменте мониторинга провайдера GSM.

проблема

Я вижу потребление данных в мониторинге GSM, даже когда я не разговариваю с модемом. Это гораздо меньше, около 2 КБ в час. Но у меня есть ограничение в 1 МБ в месяц. Итак, мои вопросы: откуда берется это «призрачное» потребление данных 3G? Стоит ли само соединение через сокет TCP поддерживать трафик?

Пока я не говорил с TCP-соединением, я использовал сниффер tcp для проверки трафика-призрака:

sudo tcpflow -i any -C -e port 8502 

Однако это не показывало никакого трафика (когда я снова начал общение, он перечислил все данные просто отлично;)).

1

1 ответ на вопрос

2
Usman Mustafa

Нет, когда вы не разговариваете с сервером, он не будет принимать какие-либо данные, однако подключаемый вами модуль gsm должен поддерживать соединение или поддерживать соединение активным, из-за чего через каждые несколько секунд вы должны посылать сигнал о поддержании соединения. можно улучшить его, отключив данные и включив его только тогда, когда вы начнете общаться с сервером

Я боюсь вашего права, собираюсь расследовать ... Lost in OWL 10 лет назад 0
+1 ты прав. Но мне нужно, чтобы модем был всегда подключен, а не только по требованию. Поэтому я изменяю значение простоя на максимальное значение. Lost in OWL 10 лет назад 0