欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

怎么使用TCP向遠端SERVER傳輸數據?

劉姿婷2年前13瀏覽0評論

如何使用TCP向遠端SERVER傳輸數據(發送與接收)1.如何使用TCP向遠端SERVER傳輸數據先要建立一個TCP連接.模塊作為CLIENT向遠程的SERVER發起一個TCP連接,要成功建立連接需要SERVER端為連接到INTERNET的一臺PC,而且該PC的IP地址是公網的IP地址(可以用撥號的方式獲得,如在PC局域網內部則無法建立連接),然后該PC運行我們的SERVER軟件,這時就可以在模塊端用AT命令與SERVER建立TCP連接(AT+CIPSTART="TCP","SERVER的IP地址","SERVER的端口號"),連接成功后會返回CONNECTOK.然后就可以用AT+CIPSEND發送數據到SERVER,若SERVER有數據,模塊自動通過串口接收.要關閉TCP連接可用AT+CIPCLOSE命令.2.如何使用UDP向遠端SERVER傳輸數據先要注冊一個UDP端口(AT+CIPSTART="UDP","SERVER的IP地址","SERVER的端口號"),成功后返回CONNECTOK.然后用AT+CIPSEND發送UDP包到SERVER,若SERVER有數據,模塊自動接收,從串口送出.3.如何發送數據要發送數據必須先要建立TCP連接或注冊一個UDP連接.有3種方式發送數據.可變長度的數據發送可以用AT+CIPSEND命令,返回"$amp;>amp;$quot;后輸入發送的數據,ctrl+z(0x1a)啟動發送.固定長度的數據發送用AT+CIPSEND=LENGTH命令,返回">"后輸入發送的數據,當輸入的數據長度等于LENGTH的時候自動發送,不需結束符.還有一種自動發送方式,先用AT+CIPATS=,命令設定自動發送的時間,然后用AT+CIPSEND返回"$amp;>amp;$quot;輸入要發送的數據,等定時到了之后自動發送輸入的數據.發送完成之后返回SENDOK.此時處于命令態,若有數據發送再重復以上的步驟就可以了.注意:每次發送的數據長度應小于1024bytes.4.如何接收數據接收數據為自動接收,若有遠端數據則自動接收.可以用AT+CIPHEAD=1在接收的數據前面自動加上標識.SIMCOMApplicationNoteforSIM100TCP/IPATCommands45.如何使用SIM100TCP的SERVER功能模塊可以配置為TCPSERVER,接收來自遠端的TCP數據.具體的操作如下:AT+CIPCSGP=1,"cmnet"(GPRS方式)AT+CLPORT="TCP","PORT"(設定偵聽的TCP的端口號)AT+CIPSERVER(啟動SERVER功能,成功后返回SERVEROK,這時候已經啟動了SERVER功能,開始偵聽PORT)AT+CIFSR(獲得SERVER的IP地址)或者:AT+CIPCSGP=0,"17201","172","172",2(CSD方式,置為CSD連接,撥17201,用戶名和密碼皆為172,連接速率為9600)AT+CLPORT="TCP","PORT"(設定偵聽的TCP端口號)AT+CIPSERVER(啟動SERVER功能,成功后返回CONNECT9600和SERVEROK,這時候已經啟動了SERVER功能,開始偵聽PORT)AT+CIFSR(獲得SERVER的IP地址)可以用SMS通知遠端模塊本SERVER的IP地址和端口號,以便遠端可以與之連接,收發數據.這時遠端的模塊就可以與本SERVER建立連接,收發數據了.如有CLIENT連接到SERVER,SERVER端會顯示REMOTECLIENT的IP地址和端口號.這時候SERVER就可以接收來自REMOTECLIENT的TCP數據包(不含TCP頭)了.注意:目前TCPSERVER不能同時支持多個TCP連接.SIMCOMApplicationNoteforSIM100TCP/IPATCommands56.如何使用UDP,接收來自遠端的數據可以使用SIM100TCP的UDP功能,接收來自遠端的UDP數據.具體過程如下:AT+CIPCSGP=1,"cmnet"(GPRS方式)AT+CLPORT="UDP","端口號"(設置UDP端口號)AT+CSTT(啟動TCP任務,成功后返回OK)AT+CIICR(激活場景,成功后返回OK)AT+CIFSR(獲得本地IP地址)AT+CIPSTART="UDP","REMOTEIPADDR","REMOTEPORT"(注冊UDP連接,其中"REMOTEIPADDR"和"REMOTEPORT"可以隨便設置一個,成功后返回CONNECTOK)或者AT+CIPCSGP=0,"17201","172","172",2(CSD方式,置為CSD連接,撥17201,用戶名和密碼皆為172,連接速率為9600)AT+CLPORT="UDP","PORT"(設定UDP端口號)AT+CSTT(啟動TCP任務)AT+CIICR(激活場景,成功后返回CONNECT9600和OK)AT+CIFSR(獲得本地IP地址)AT+CIPSTART="UDP","REMOTEIPADDR","REMOTEPORT"(注冊UDP連接,其中"REMOTEIPADDR"和"REMOTEPORT"可以隨便設置一個,成功后返回CONNECTOK)此時就模塊就可以接收到遠端的UDP包.可以用AT+CIPSRIP=1在收到的UDP包的前面加上標識和發送方的IP地址和端口號.SIMCOMApplicationNoteforSIM100TCP/IPATCommands67.如何使用DNS功能利用SIM100TCP的DNS可直接連接到一個域名,或者可以用DNS解析域名獲得IP地址.具體步驟如下:直接連接到一個域名1:先配置DNSAT+CDNSCFG="211.136.18.171"(以上海為例)2:選擇域名還是IP地址AT+CDNSORIP=1(選擇域名)3:建立連接AT+CIPSTART="TCP","","80"(連接到SERVER)4:發送數據AT+CIPSEND返回"$amp;>amp;$quot;后開始發送數據,ctrl+z啟動發送.解析域名獲得IP地址1:先激活一個移動場景AT+CSTTAT+CIICRAT+CIFSR2:配置DNSAT+CDNSCFG="211.136.18.171"(以上海為例)3:解析域名,獲得IP地址AT+CDNSGIP=""返回該域名的IP地址8.如何檢測是否在線,斷線后有什么提示可以用AT+CIPSTATUS查詢TCP所處的狀態,具體狀態請參考AT命令集,若處于連接狀態則返回CONNECTOK.斷線后會主動返回CLOSE信息,同時TCP狀態為IPCLOSE.9.如何區分接收的數據是AT命令的響應還是來自遠端設定AT+CIPHEAD=1,這樣來自SERVER的數據前面就會自動加上一個標志,其格式為:+IPD(datalength),+IPD為標識,datalength為來自SERVER端數據的長度.這樣就可以區分是來自SERVER的數據還是AT命令的相應.SIMCOMApplicationNoteforSIM100TCP/IPATCommands710.如何使用SIM100TCP建立點對點的TCP連接,傳輸數據用GPRS方式的具體步驟為:第一臺:AT+CLPORT="TCP","3030"AT+CIPSERVER(啟動SERVER功能,開始偵聽3030端口)AT+CIFSR(獲取本地IP地址)AT+CLPORT="TCP","3000"(設置本地TCP端口)第二臺:AT+CLPORT="TCP","2020"AT+CIPSERVER(啟動SERVER功能,開始偵聽2020端口)AT+CIFSR(獲取本地IP地址)AT+CLPORT="TCP","2000"(設置本地TCP端口)第一臺:AT+CIPSTART="TCP","REMOTEIPADDR","2020"(REMOTEIPADDR可由對方發SMS得到)已經建立連接第二臺:AT+CIPSTART="TCP","REMOTEIPADDR","3030"已經建立連接之后任何一方就可以向另外一方發數據(用AT+CIPSEND發送)也可以用CSD方式建立,具體操作如下:第一臺:AT+CIPCSGP=0,"17201","172","172",2(CSD方式,置為CSD連接,撥17201,用戶名和密碼皆為172,連接速率為9600)AT+CLPORT="TCP","3030"AT+CIPSERVER(啟動SERVER功能,開始偵聽3030端口)AT+CIFSR(獲取本地IP地址)AT+CLPORT="TCP","3000"第二臺:AT+CIPCSGP=0,"17201","172","172",2(CSD方式,置為CSD連接,撥17201,用戶名和密碼皆為172,連接速率為9600)AT+CLPORT="TCP","2020"AT+CIPSERVER(啟動SERVER功能,開始偵聽2020端口)AT+CIFSR(獲取本地IP地址)AT+CLPORT="TCP","2000"SIMCOMApplicationNoteforSIM100TCP/IPATCommands8第一臺:AT+CIPSTART="TCP","REMOTEIPADDR","2020"(REMOTEIPADDR可由對方發SMS得到)已經建立連接第二臺:AT+CIPSTART="TCP","REMOTEIPADDR","3030"已經建立連接之后任何一方就可以向另外一方發數據(用AT+CIPSEND發送)SIMCOMApplicationNoteforSIM100TCP/IPATCommands911.如何使用SIM100TCP實現多個模塊之間的互相通信目前SIM100TCP不支持多個TCP同時連接,但是可以用UDP方式來實現.可以用模塊啟動UDP功能,這樣模快就可以接收來自遠端的UDP包,可以通過收到的UDP包獲取發送方的IP地址和端口號,然后本模塊就可以作出應答,回應一個UDP包,實現相互的通訊.下面是一個簡單的例子:假設A,B,C三個模塊要相互通信,可以用以下的方式實現(以GPRS方式為例)1:A,B,C分別初始化如下:AT+CIPCSGP=1,"cmnet"(GPRS方式)AT+CLPORT="UDP","端口號"(設置UDP端口號)AT+CSTT(啟動TCP任務,成功后返回OK)AT+CIICR(激活場景,成功后返回OK)AT+CIFSR(獲得本地IP地址)AT+CIPSTART="UDP","REMOTEIPADDR","REMOTEPORT"(注冊UDP連接,其中"REMOTEIPADDR"和"REMOTEPORT"可以隨便設置一個,成功后返回CONNECTOK)2:若A要向B發送數據,只要這樣就可以了:AT+CIPCLOSE(注銷當前UDP連接)AT+CIPSTART="UDP","B的IP地址","B的端口號"(注冊新的UDP連接)(成功后會返回CONNECTOK和OK)AT+CIPSEND(發送數據)若C有數據發給A,則A自動接收到,同時可以獲得C的IP地址和端口號,這樣A就可以發UDP包給C了,具體過程跟上面類似.SIMCOMApplicationNoteforSIM100TCP/IPATCommands1012.TCP連接出錯后應該如何處理若在建立TCP連接的過程中出現錯誤或者SERVER斷線,則先用AT+CIPCLOSE關閉TCP連接(本地IP地址不變),然后再重新建立連接.若其他時候可以用AT+CIPSHUT關閉PDPContext(本地IP地址會改變),然后重新建立連接.13.如何建立一個點對點的CSD連接首先要確保SIM卡已開通CSD業務,直接呼叫對方號碼(數據呼叫,非語音呼叫),對方用ATA應答,然后會返回CONNECT9600,這時候雙方進入完全的透明數據傳輸狀態,雙方都可以收發數據,發+++后返回命令態(注意+++的前后0.5秒內必須無數據傳輸才能返回命令態),ATO可返回數據態.ATH可結束本次CSD連接.