1. 程式人生 > 其它 >微信小程式AP配網區域網通訊

微信小程式AP配網區域網通訊

目錄

1,前言

最近在做IOT的專案,裡面有個小程式要用到AP配網,和裝置做一個區域網通訊。可是小程式會做安全域的校驗,而區域網只能是http的協議,並且區域網沒有外網(無法百度等上網衝浪),在手機沒有3g/4g/5g網路下,通訊可以正常進行嗎?所以我做了一個調研。

2,相關資料

小程式官網原文如下:

基礎庫 2.4.0 提供了 wx.startLocalServiceDiscovery 等一系列 mDNS API,可以用來獲取區域網內提供 mDNS 服務的裝置的 IPwx.request/wx.connectSocket/wx.uploadFile/wx.downloadFile

url 引數允許為 ${IP}:${PORT}/${PATH} 的格式,當且僅當 IP 與手機 IP 處在同一網段且不與本機 IP 相同(一般來說,就是同一區域網,如連線在同一個 wifi 下)時,請求/連線才會成功。在這種情況下,不會進行安全域的校驗,不要求必須使用 https/wss,也可以使用 http/ws。基礎庫 2.7.0 開始,提供了 wx.createUDPSocket 介面用於進行 UDP 通訊。通訊規則同上,僅允許同一區域網下的非本機 IP

wx.request({
  url: 'http://10.9.176.40:828'
})

注:同一網段,指的是 IP 前三段相同且子網掩碼也相同,比如 192.168.43.01

192.168.43.02

3,實驗程式碼

小程式寫好程式碼,釋出體驗版,手機和後端連線同一個 wifi,介面地址是後端本地服務,通訊成功,證明是可行的。

wx.request({
  url: 'http://172.168.10.xxx/api',
  success: (res) => {
    showModal({
      title: '溫馨提示',
      content: JSON.stringify(res),
      showCancel: false
    })
  },
  fail: (rej) => {
    showModal({
      title: '溫馨提示',
      content: JSON.stringify(rej),
      showCancel: false
    })
  }
})

如果看了覺得有幫助的,我是@鵬多多,歡迎 點贊 關注 評論;END


PS:在本頁按F12,在console中輸入document.querySelectorAll('.diggit')[0].click(),有驚喜哦


公眾號

往期文章

個人主頁