С помощью MC52iT устанавливаю GPRS соединение и настраиваю HTTP сокет для POST запроса:
Код
AT+CGAUTO=0
AT+CGDCONT=1,"IP", "internet.usi.ru"
AT^SCFG="Tcp/WithURCs",off
AT^SICS=0,conType,GPRS0
AT^SICS=0,apn,"internet.usi.ru"
AT^SISS=1,srvType,"Http"
AT^SISS=1,conId,0
AT^SISS=1,alphabet,1
AT^SISS=1,hcMethod,1
AT^SISS=1,hcProp,"Content-Type: application/x-www-form-urlencoded"
AT^SISS=1,address,"http://site.ru/post_proc"
AT^SISS=1,hcContLen,512
AT+CGDCONT=1,"IP", "internet.usi.ru"
AT^SCFG="Tcp/WithURCs",off
AT^SICS=0,conType,GPRS0
AT^SICS=0,apn,"internet.usi.ru"
AT^SISS=1,srvType,"Http"
AT^SISS=1,conId,0
AT^SISS=1,alphabet,1
AT^SISS=1,hcMethod,1
AT^SISS=1,hcProp,"Content-Type: application/x-www-form-urlencoded"
AT^SISS=1,address,"http://site.ru/post_proc"
AT^SISS=1,hcContLen,512
Делаю POST Запрос:
Код
AT^SISO=1
AT^SISW=1,18
.......
AT^SISС=1
AT^SISW=1,18
.......
AT^SISС=1
все работает, но каждая пара SISO / SISC создает отдельный сеанс связи GPRS, и провайдер отдельно тарифицирует их (с учетом своих округлений до 1000байт).
Поиск по форуму дал такой ответ:
устанавливаешь 1 раз SISO а потом сколько надо раз - делай SISW.
Сделал так, но возникли подводные камни:
SISO для данного профиля HTTP делает уже коннект к сайту. А на сайте в параметрах сервера стоит опция Keep Alive 20 - 20 секунд на сессию. т.е. сколько раз я смогу сделать SISW в течение этих секунд - столько смогу - а потом - сайт меня отпинывает.
Умом понимаю что как-то надо организовать постоянное подключение к интернету (НЕ к моему сайту, а вцелом к интернету) - которое бы постоянно висело. а уже отдельным профилем на HTTP POST делать сколь-угодно раз SISO SISC.
Но не могу понять как это постоянное подключение оформить?
Вначале думал что за подключение к GPRS интернету отвечает AT+CGATT, но как показал анализ счета - GPRS сессия начинается и заканчивается именно SISO и SISC.
Где я ошибаюсь? И какими настройками все-таки создать постоянно висящую интернет-сессию (без привязки к конкретному сайту)?
Заранее спасибо за помощь.