Для передачи данных на основе SAGEM HiLo GPRS используется стек TCP/IP, и есть два способа подключения:
(1) Использование основных команд GPRS, а затем набор номера ppp для подключения модема к общедоступной сети/Интернету, например
AT+CGDCONT=1,"IP","APN","0.0.0.0",0,0
OK
atd*99***1#
CONNECT
(2) Использование подключения GPRS, а затем использование команд сокета TCP, таких как
at&k3
OK
AT+KCNXCFG=0,"GPRS","APN","log","pass
word",”0.0.0.0”,”0.0.0.0”,”0.0.0.0”
OK
AT+KCNXTIMER=0,60,2,70
OK
AT+KCNXPROFILE=0
OK
AT+CGATT=1
OK
at+ktcpcfg=0,0,"www.domain.com",PortNo
+KTCPCFG: 1
OK
AT+KTCPCNX=1
OK
AT+KTCPSND=1,18
CONNECT
…Data send…
OK
+KTCP_DATA: 1,1380
AT+KTCPRCV=1,10000
CONNECT
Для подключения удаленного клиента к серверу со статическим IP-адресом с использованием TCP с номером порта я нахожу, например, что в нем используются базовые команды GPRS без использования каких-либо команд стека TCP/IP.
Какая разница в двух методах? Я понимаю, что первый метод обычно используется для просмотра Интернета с помощью ПК, и когда он не должен быть похож на шаг 1, затем следует шаг 2.
Некоторое время я наблюдал проблему, когда GPRS-модем назначает IP-адрес соединения, начинающийся со 117, он работает нормально, а когда назначенный IP-адрес начинается со 110, он подключается к серверу и сразу же отключается. В чем может быть разница в этих двух случаях и как поступать в таких ситуациях? Расположение GPRS-модема одинаково в обоих случаях, и в основном мы получаем рабочий IP-адрес, если запускаем его через очень долгое время, а в случае перезапуска модема или соединения назначенный IP-адрес не работает.