TCP指令
AT+IPCREATE 创建Socket
AT+IPCREATE 支持创建TCP和UDP客户端。当前只能支持4个客户端,不支持服务端。
Command | Possible response(s) |
+IPCREATE= [<index>],[<mode>],[<adress>],[<Port>] | OK <index>,CONNECT OK CONNECT FAIL ERROR |
+IPCREATE? | +IPCREATE: <index>,<state> |
+IPCREATE=? | +IPCREATE:index,mode(TCP/UDP),ip/address,port |
创建TCP或者UDP链接。如果创建网络链接前PDP没有激活,将自动完成PDP激活后创建。如果创建TCP连接连续3次都失败了,将返回“CONNECT FAIL”;TCP创建成功返回“CONNECT OK”
参数
<index>: 创建连接的通道,目前可选0-3四个通道
<mode>: 创建TCP连接或者UDP连接
TCP:创建TCP连接
UDP:创建UDP连接
<adress>: 创建客户端要连接服务端的地址,可以用IP地址或者域名,具有将域名转换成IP的功能。
<Port>:服务器的端口号
<state>:通道状态
举例
发→◇AT+IPCREATE=? 收←◆+IPCREATE: index,mode(TCP/UDP),ip/address,port 收←◆OK
发→◇AT+IPCREATE=0,"TCP","192.168.1.1",50 收←◆CONNECT OK 收←◆OK //说明:返回CONNECT OK说明创建TCP连接成功。
发→◇AT+IPCREATE? 收←◆+IPCREATE: 收←◆0,TCP 收←◆1,NUL 收←◆2.NUL 收←◆3.NUL 收←◆OK
AT+IPSEND Socket发送数据
Command | Possible response(s) |
+IPSEND = [<index>],[<lent>],[<data>] | +IPSEND =lent OK ERROR |
+IPSEND =? | +IPSEND :index,lent,data |
通过已经建立的SOCKET发送数据。
参数
<index>:已创建连接的通道
<lent>:发送的数据的长度
<data>:发送的数据
举例
发→◇AT+IPSEND =? 收←◆+ IPCREATE: index,lent,data 收←◆OK
发→◇AT+IPSEND=0,0,123 收←◆+IPSEND:3 收←◆OK
AT+IPSENDDATA Socket数据透传
Command | Possible response(s) |
+IPSENDDATA = [<index>],[<lent>] | > +IPSENDDATA:lent OK ERROR |
在已创建的连接上开启数据透传模式。在完成指定的透传长度后或超时后退出。
参数
<index>: 透传通道号
<lent>:需要透传的数据长度
举例
发→◇AT+IPSENDDATA=0,20 收←◆> //返回>表示透传开启成功 //输完透传数据后,按组合键CTRL+Z>发送 或者 发送十六进制0x1A发送,按键ESC>退出 或者 发送十六进制0X1B退出 发→◇\\\r\\\n\\\0\\\\aaaa 收←◆+IPSENDDATA:20 //返回透传完成的数据长度 收←◆OK
AT+IPCLOSE 关闭Socket
Command | Possible response(s) |
+IPCLOSE = [<index>] | OK ERROR |
+IPCLOSE =? | +IPCLOSE :index |
关闭已经创建的Socket. 重启Socket,必须已经存在的Socket才能重新创建。
参数
<index>: 关闭通道号
举例
发→◇AT+IPCLOSE =? 收←◆+IPCLOSE:index 收←◆OK
发→◇AT+IPCLOSE =0 收←◆OK