欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

TCP協(xié)議用在python和wifi模塊之間詳解

 更新時(shí)間:2023年06月03日 15:20:22   作者:John_Y97  
這篇文章主要介紹了TCP協(xié)議用在python和wifi模塊之間詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

TCP協(xié)議用在python和wifi模塊之間

python建立TCP連接需要用到socket協(xié)議 

如果是TCP Server,建立TCP連接的步驟是:

  • 1.創(chuàng)建socket套接字
  • 2.綁定(bind())本地的ip地址和端口號(hào)
  • 3.監(jiān)聽(tīng)端口(listen),如果有socket連接,便接收(accept)。  

如果是TCP Client,建立TCP連接的步驟是:

  • 1.創(chuàng)建socket套接字
  • 2.連接(connect)遠(yuǎn)程主機(jī)的ip地址和端口號(hào)。  

我的計(jì)算機(jī)最初使用的是TCP Server模式,讓wifi模塊作為client來(lái)連接計(jì)算機(jī),但是這種模式缺陷很多,比如,連接的主動(dòng)性在wifi模塊上,wifi模塊是否連接還需要把握時(shí)機(jī),如果wifi模塊先聯(lián)網(wǎng),而服務(wù)器后打開(kāi),則兩者無(wú)法建立TCP連接。

而且計(jì)算機(jī)作為服務(wù)器,那么對(duì)于wifi模塊的SDK來(lái)說(shuō),需要連接的服務(wù)器地址就是固定的,也就是說(shuō),如果換一臺(tái)電腦運(yùn)行服務(wù)器,那么wifi模塊就需要重新燒寫(xiě)一次ip地址,十分不便,也不人性化。  

因此,后來(lái)我將wifi模塊的SDK和計(jì)算機(jī)python軟件重寫(xiě),將兩者地位交換,wifi模塊作為服務(wù)器,計(jì)算機(jī)作為客戶(hù)端去連接wifi模塊,這樣,連接的主動(dòng)權(quán)就回到了計(jì)算機(jī)手里,這樣,wifi模塊一直處在監(jiān)聽(tīng)模式,只要計(jì)算機(jī)去運(yùn)行這個(gè)軟件,并且與wifi模塊處在一個(gè)局域網(wǎng)下,那么就能夠連接上wifi模塊,并且向wifi模塊發(fā)送數(shù)據(jù)。

wifi模塊SDK的編寫(xiě)

wifi模塊采用定時(shí)器的機(jī)制,每隔一段時(shí)間會(huì)調(diào)用回調(diào)函數(shù)。如上面檢查wifi狀態(tài)部分第三句代碼,那么wifi模塊如果狀態(tài)是良好的,則進(jìn)入下一個(gè)函數(shù),如果wifi信號(hào)不好,它就會(huì)一直檢查wifi狀態(tài),不會(huì)進(jìn)入到連接wifi的模塊。  

同理,連接wifi部分也是一樣,如果wifi連接失敗,也不會(huì)進(jìn)入下一個(gè)部分,即建立TCP Server部分,但是由于os_timer_arm函數(shù)中的第三個(gè)參數(shù)為0,它不會(huì)一直阻塞在連接wifi的部分,它會(huì)回到上一個(gè)檢查wifi狀態(tài)的定時(shí)器模塊上。  

同理,如果建立TCP失敗,就會(huì)回到上一個(gè)定時(shí)器。

python的tcp協(xié)議交互

服務(wù)端:

客戶(hù)端:

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論