微信小程序API UDP通信

2022-05-11 16:19 更新

UDPSocket wx.createUDPSocket()

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

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

返回值

UDPSocket

一個 UDP Socket 實例


UDPSocket

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

一個 UDP Socket 實例,默認使用 IPv4 協(xié)議。

方法:

number UDPSocket.bind(number port)

綁定一個系統(tǒng)隨機分配的可用端口,或綁定一個指定的端口號

參數(shù)

number port

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

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

返回值

number

綁定成功的端口號

示例代碼

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


UDPSocket.close()

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


UDPSocket.offClose(function callback)

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

參數(shù)

function callback

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


UDPSocket.offError(function callback)

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

參數(shù)

function callback

錯誤事件的回調(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)聽錯誤事件

參數(shù)

function callback

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

參數(shù)

Object res
屬性 類型 說明
errMsg string 錯誤信息


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 端口號
size number message 的大小,單位:字節(jié)


UDPSocket.send(Object object)

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

參數(shù)

Object object

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

示例代碼


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


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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號