对于基于 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 attach,然后使用TCP socket命令如
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
对于使用带有端口号的 TCP 与静态 IP 服务器连接的远程客户端,我发现可能使用基本 GPRS 命令而不使用任何 TCP/IP 堆栈命令的示例。
这两种方法有什么区别?我知道第一种方法通常用于使用 PC 进行 Internet 浏览,什么时候不应该像第 1 步那样,然后是第 2 步。
有时我观察到一个问题,当 GPRS 调制解调器分配以 117 开头的连接 IP 时,它工作正常,而当分配的 IP 从 110 开始时,它与服务器连接并立即断开连接。这两种情况有什么不同以及如何处理这种情况?GPRS 调制解调器的位置在这两种情况下都是相同的,如果我们在很长一段时间后启动,大多数情况下我们会获得工作 IP,如果调制解调器或连接重新启动,那么分配的 IP 将不起作用。