Я использую сокеты UDP на основе Java для связи с модулем 3G; но порт (а иногда и IP адрес) полученного пакета каждый раз меняется, что очень удивительно. Это указывает на то, что я не могу назначить фиксированный IP/порт модулю 3G и связаться с ним, а полагаться только на входящие пакеты для получения информации о пункте назначения. Кто-нибудь может сказать мне, почему? В чем разница между соединением TCP/UDP через 3G и обычным Интернетом? Заранее спасибо!
Порт UDP меняется каждый раз при подключении 3G
comment
Какой 3g модуль? RTP/RTSP? Обратите внимание, что это определено в стандарте, то же самое в Интернете.
- person TomTom   schedule 05.11.2010
comment
Вы пробовали опубликованный ответ?
- person Yandry Pozo   schedule 22.09.2017
Ответы (1)
Мобильные операторы часто используют межсетевые экраны NAT. Попробуйте поддерживать «сеанс» UDP, отправляя пакеты UDP, которые ваше приложение может игнорировать. Отправка каждые 30 секунд может быть необходима, чтобы поддерживать активное сопоставление NAT.
Если брандмауэр NAT оператора мобильной связи не получает пакет от четырехкратного IP-адреса/порта назначения UDP-источника/порта, он удалит его и назначит новый IP-адрес/порт при поступлении следующего пакета от вашего приложения.
person
bew
schedule
05.11.2010