微信小程序API UDP通信

2022-05-11 16:19 更新

UDPSocket wx.createUDPSocket()

基礎(chǔ)庫 2.7.0 開始支持,低版本需做兼容處理。

創(chuàng)建一個(gè) UDP Socket 實(shí)例。使用前請(qǐng)注意閱讀相關(guān)說明。

返回值

UDPSocket

一個(gè) UDP Socket 實(shí)例


UDPSocket

基礎(chǔ)庫 2.7.0 開始支持,低版本需做兼容處理。

一個(gè) UDP Socket 實(shí)例,默認(rèn)使用 IPv4 協(xié)議。

方法:

number UDPSocket.bind(number port)

綁定一個(gè)系統(tǒng)隨機(jī)分配的可用端口,或綁定一個(gè)指定的端口號(hào)

參數(shù)

number port

基礎(chǔ)庫 2.9.0 開始支持,低版本需做兼容處理。

指定要綁定的端口號(hào),不傳則返回系統(tǒng)隨機(jī)分配的可用端口

返回值

number

綁定成功的端口號(hào)

示例代碼

const udp = wx.createUDPSocket()
const port = udp.bind()


UDPSocket.close()

關(guān)閉 UDP Socket 實(shí)例,相當(dāng)于銷毀。 在關(guān)閉之后,UDP Socket 實(shí)例不能再發(fā)送消息,每次調(diào)用 UDPSocket.send 將會(huì)觸發(fā)錯(cuò)誤事件,并且 message 事件回調(diào)函數(shù)也不會(huì)再也執(zhí)行。在 UDPSocket 實(shí)例被創(chuàng)建后將被 Native 強(qiáng)引用,保證其不被 GC。在 UDPSocket.close 后將解除對(duì)其的強(qiáng)引用,讓 UDPSocket 實(shí)例遵從 GC。


UDPSocket.offClose(function callback)

取消監(jiān)聽關(guān)閉事件

參數(shù)

function callback

關(guān)閉事件的回調(diào)函數(shù)


UDPSocket.offError(function callback)

取消監(jiān)聽錯(cuò)誤事件

參數(shù)

function callback

錯(cuò)誤事件的回調(diào)函數(shù)


UDPSocket.offListening(function callback)

取消監(jiān)聽開始監(jiān)聽數(shù)據(jù)包消息的事件

參數(shù)

function callback

開始監(jiān)聽數(shù)據(jù)包消息的事件的回調(diào)函數(shù)


UDPSocket.offMessage(function callback)

取消監(jiān)聽收到消息的事件

參數(shù)

function callback

收到消息的事件的回調(diào)函數(shù)


UDPSocket.onClose(function callback)

監(jiān)聽關(guān)閉事件

參數(shù)

function callback

關(guān)閉事件的回調(diào)函數(shù)


UDPSocket.onError(function callback)

監(jiān)聽錯(cuò)誤事件

參數(shù)

function callback

錯(cuò)誤事件的回調(diào)函數(shù)

參數(shù)

Object res
屬性 類型 說明
errMsg string 錯(cuò)誤信息


UDPSocket.onListening(function callback)

監(jiān)聽開始監(jiān)聽數(shù)據(jù)包消息的事件

參數(shù)

function callback

開始監(jiān)聽數(shù)據(jù)包消息的事件的回調(diào)函數(shù)


UDPSocket.onMessage(function callback)

監(jiān)聽收到消息的事件

參數(shù)

function callback

收到消息的事件的回調(diào)函數(shù)

參數(shù)

Object res
屬性 類型 說明
message ArrayBuffer 收到的消息
remoteInfo Object 消息來源的結(jié)構(gòu)化信息

remoteInfo 的結(jié)構(gòu)

屬性 類型 說明
address string 發(fā)送消息的 socket 的地址
family string 使用的協(xié)議族,為 IPv4 或者 IPv6
port number 端口號(hào)
size number message 的大小,單位:字節(jié)


UDPSocket.send(Object object)

向指定的 IP 和 port 發(fā)送消息

參數(shù)

Object object

屬性 類型 默認(rèn)值 必填 說明
address string 要發(fā)消息的地址。在基礎(chǔ)庫 2.9.3 及之前版本可以是一個(gè)和本機(jī)同網(wǎng)段的 IP 地址,也可以是在安全域名列表內(nèi)的域名地址;在基礎(chǔ)庫 2.9.4 及之后版本,可以是任意 IP 和域名
port number 要發(fā)送消息的端口號(hào)
message string/ArrayBuffer 要發(fā)送的數(shù)據(jù)
offset number 0 發(fā)送數(shù)據(jù)的偏移量,僅當(dāng) message 為 ArrayBuffer 類型時(shí)有效
length number message.byteLength 發(fā)送數(shù)據(jù)的長度,僅當(dāng) message 為 ArrayBuffer 類型時(shí)有效

示例代碼


  const udp = wx.createUDPSocket()
  udp.bind()
  udp.send({
    address: '192.168.193.2',
    port: 8848,
    message: 'hello, how are you'
  })


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)