LPWA  Module  Series 
  BG96  TCP/IP  Application  Note 
BG96_TCP/IP_Application_Note                                 41 / 52 
 
 
 
3.5. TCP Client Works in Direct Push Mode 
3.5.1.  Set up a TCP Client Connection and Enter Direct Push Mode 
 
3.5.2.  Send Data in Direct Push Mode 
 
3.5.3.  Retrieve Data from Remote Server in Direct Push Mode 
 
AT+QIOPEN=1,0,"TCP","220.180.239.212",8009,0,1  //Context  is  1  and  <connectID>  is  0.  Before    
using AT+QIOPEN, the host should activate the 
context via AT+QIACT first. 
OK 
 
+QIOPEN: 0,0                                                               //TCP  client  connected  successfully.  It  is                 
                        suggested to wait for 150 seconds for the URC       
                        +QIOPEN:  <connectID>,<err>.  If  the  URC           
                        cannot  be  received  in  150  seconds,  the  host             
                        could use AT+QICLOSE to close the socket. 
AT+QISTATE=1,0                                                             //Query the connection state of socket service 0. 
+QISTATE: 0,"TCP","220.180.239.201",8705,65344,2,1,0,1,"usbmodem" 
 
OK 
AT+QISEND=0                                                       //Send variable-length data..   
>test1<ctrl+Z> 
SEND OK                                                          //SEND OK does not mean the data has been sent to the 
                     server  successfully.  The  host  can  query  whether  the       
                     data has reached the server via AT+QISEND=0,0. 
AT+QISEND=0,5                                                      //Send fixed-length data and the data length is 5 bytes. 
>test2 
SEND OK 
AT+QISEND=0,0                                                      //Query the length of sent data, acknowledged data and 
                     unacknowledged data. 
+QISEND: 10,10,0             //A  total  of  10  bytes  data  has  been  sent,  and  all  the           
                     10-byte data has been acknowledged. 
 
OK 
+QIURC: "recv",0,4                                                  //Retrieve data from remote server. 
test