1. 程式人生 > >01-iOS之wifi通訊開發簡介

01-iOS之wifi通訊開發簡介

wifi通訊開發

1.1-wifi通訊簡介

  • 1.wifi通訊原理介紹

    • wifi通訊的本質上是網路傳輸,只不過wifi通訊使用的並不是我們傳統的HTTP協議,而是UDP協議
      • 想要了解UDP協議,則必須要了解Socket套接字
        • 關於SocketUDP協議將會在後期部落格介紹
  • 2.wifi通訊使用場景

    • 無人機
    • 行車記錄儀(不帶螢幕的行車記錄儀)
    • 智慧家居
  • 3.wifi通訊的特點

    • 傳輸資料比較穩定
    • 能夠傳輸大量資料
      • 藍芽4.0無法做到大量資料傳輸,藍芽2.0可以
    • 沒有外設的數量限制
      • 本人曾經接觸過一個專案,使用wifi控制足球場幾千個氛圍燈,但是最終因為價格問題沒談攏

1.2-wifi通訊與藍芽通訊利弊介紹

  • 1.wifi通訊對網路有要求,而藍芽通訊不需要聯網

    • wifi通訊既可以使用區域網,也可以使用網際網路
      • 如果使用網際網路則需要配套硬體也能訪問網際網路,這樣的硬體一般價格都非常高
  • 2.wifi通訊連線硬體的數量取決於路由器,一般家用路由器幾十個沒問題,大型路由器可以同時支援連線上萬個

    • 藍芽連線硬體超過八個就極其不穩定,甚至無法連線
  • 3.wifi通訊的成本要比藍芽通訊成本高

1.3-wifi通訊流程介紹

  • 1.移動裝置(手機)檢測wifi網路

  • 2.移動裝置連線與硬體同一wifi網路

  • 3.硬體監聽移動裝置加入

    • socket服務端監聽客戶端
  • 4.硬體充當伺服器,使用UDP協議傳送資料

    • UDP協議:一對多傳輸,而且是長連線(http短連線)
  • 5.在藍芽通訊中一般由藍芽中心擔任主角,但是在wifi通訊中,由誰擔任伺服器是不確定的,因為Socket通訊中萬物皆Socket(UDP通訊屬於Socket通訊)

    • 主要根據實際需求,看一對多的關係,由一的那一個Socket擔任伺服器,既可以是路由器,也可以硬體,少數情況下也可以是手機

1.4-關於wifi通訊的使用

  • 1.wifi熱點獲取和ip地址獲取可以參考這篇部落格:wifi熱點獲取

  • 2.關於UDP通訊,可以參考這篇部落格:UDP通訊

  • 3.由於時間問題,關於wifi通訊的程式碼演示,將會在後期給出,或者到時候我寫成一篇部落格,供大家學習

    • wifi通訊程式碼需要寫兩套,一套伺服器,一套客戶端
      • 在實際開發中,我們一般不需要寫伺服器的那一套邏輯,只要寫客戶端的邏輯,遵循產品的wifi資料傳輸協議即可