TCP 通信

最近更新时间:2023-10-20 15:19:17

我的收藏

createTCPSocket

该 API 使用方法为 TCPSocket wx.createTCPSocket()
功能说明:创建一个 TCP Socket 实例。
返回值:一个 TCP Socket 实例。
链接限制
允许与局域网内的非本机 IP 通信;
允许与配置过的服务器域名通信;
禁止与以下端口号连接:1024 以下、1099、1433、1521、1719、1720、1723、2049、2375、3128、3306、3389、3659、4045、5060、5061、5432、5984、6379、6000、6566、7001、7002、8000-8100、8443、8888、9200、9300、10051、10080、11211、27017、27018、27019;
每5分钟内最多创建20个 TCPSocket。

TCPSocket

说明:
一个 TCP Socket 实例,默认使用 IPv4 协议。
当 errCode 为 -2 时,errMsg 里应该会有相应的 errno ,开发者可以根据 errno 到 Linux 代码里的 errno-base.h 和 errno.h 中查看具体的报错信息。

.bindWifi

该 方法 使用方式为 TCPSocket.bindWifi(Object options)
功能说明:将 TCP Socket 绑定到当前 Wi-Fi 网络,成功后会触发 onBindWifi 事件(仅 Android 支持)。
参数及说明:Object options。
属性
类型
默认值
必填
说明
BSSID
string
-
当前 Wi-Fi 网络的 BSSID ,可通过 wx.getConnectedWifi 获取
示例代码
const tcp = wx.createTCPSocket()
tcp.bindWifi({ BSSID: 'xxx' })
tcp.onBindWifi(() => {})

.close

该 方法 使用方式为 TCPSocket.close()
功能说明:关闭连接。
示例代码
const tcp = wx.createTCPSocket()
tcp.close()

.connect

该 方法 使用方式为 TCPSocket.connect(Object options)
功能说明:在给定的套接字上启动连接。
参数及说明:Object options。
属性
类型
默认值
必填
说明
address
string
-
套接字要连接的地址
port
number
-
套接字要连接的端口
timeout
number
2
套接字要连接的超时时间,默认为 2s
示例代码
const tcp = wx.createTCPSocket()
tcp.connect({address: '192.168.193.2', port: 8848})

.onClose

该 方法 使用方式为 TCPSocket.onClose(function listener)
功能说明:监听一旦 socket 完全关闭就发出该事件。
参数及说明:function listener,一旦 socket 完全关闭就发出该事件的监听函数。

.offClose

该 方法 使用方式为 TCPSocket.offClose(function listener)
功能说明:移除一旦 socket 完全关闭就发出该事件的监听函数。
参数及说明:function listener,onClose 传入的监听函数。不传此参数则移除所有监听函数。
示例代码
const listener = function (res) { console.log(res) }

TCPSocket.onConnect(listener)
TCPSocket.offConnect(listener) // 需传入与监听时同一个的函数

.onConnect

该 方法 使用方式为 TCPSocket.onConnect(function listener)
功能说明:监听当一个 socket 连接成功建立的时候触发该事件。
参数及说明:function listener,当一个 socket 连接成功建立的时候触发该事件的监听函数。

.offConnect

该 方法 使用方式为 TCPSocket.offConnect(function listener)
功能说明:移除当一个 socket 连接成功建立的时候触发该事件的监听函数。
参数及说明:function listener,onConnect 传入的监听函数。不传此参数则移除所有监听函数。
示例代码
const listener = function (res) { console.log(res) }

TCPSocket.onConnect(listener)
TCPSocket.offConnect(listener) // 需传入与监听时同一个的函数对象

.onError

该 方法 使用方式为 TCPSocket.onError(function listener)
功能说明:监听当错误发生时触发。
参数及说明:function listener 的监听函数。
属性
类型
说明
errMsg
string
错误信息

.offError

该 方法 使用方式为 TCPSocket.offError(function listener)
功能说明:移除当错误发生时触发的监听函数。
参数及说明:function listener,onError 传入的监听函数。不传此参数则移除所有监听函数。
示例代码
const listener = function (res) { console.log(res) }

TCPSocket.onError(listener)
TCPSocket.offError(listener) // 需传入与监听时同一个的函数对象

.onMessage

该 方法 使用方式为 TCPSocket.onMessage(function listener)
功能说明:监听当接收到数据的时触发该事件。
参数及说明:Object res 参数,function listener,当接收到数据的时触发该事件的监听函数。
属性
类型
说明
message
ArrayBufffer
收到的消息
remoteInfo
Object
发送端地址信息
localInfo
Object
接收端地址信息
remoteInfo 结构属性
结构属性
类型
说明
address
string
发送消息的 socket 的地址
family
string
使用的协议族,为 IPv4 或者 IPv6
port
number
端口号
size
number
message 的大小,单位:字节
localInfo 结构属性
结构属性
类型
说明
address
string
发送消息的 socket 的地址
family
string
使用的协议族,为 IPv4 或者 IPv6
port
number
端口号

.offMessage

该 方法 使用方式为 TCPSocket.offMessage(function listener)
功能说明:移除当接收到数据的时触发该事件的监听函数。
参数及说明:function listener,onMessage 传入的监听函数。不传此参数则移除所有监听函数。
示例代码
const listener = function (res) { console.log(res) }

TCPSocket.onMessage(listener)
TCPSocket.offMessage(listener) // 需传入与监听时同一个的函数对象

.onBindWifi

该 方法 使用方式为 TCPSocket.onBindWifi(function listener)
功能说明:监听当一个 socket 绑定当前 Wi-Fi 网络成功时触发该事件。
参数及说明:function listener,当一个 socket 绑定当前 Wi-Fi 网络成功时触发该事件的监听函数。

.offBindWifi

该 方法 使用方式为 TCPSocket.offBindWifi(function listener)
功能说明:移除当一个 socket 绑定当前 Wi-Fi 网络成功时触发该事件的监听函数。
参数及说明:function listener,onBindWifi 传入的监听函数。不传此参数则移除所有监听函数。
示例代码
const listener = function (res) { console.log(res) }

TCPSocket.onBindWifi(listener)
TCPSocket.offBindWifi(listener) // 需传入与监听时同一个的函数对象

.write

该 方法 使用方式为 TCPSocket.write(string|ArrayBuffer data)
功能说明:在 socket 上发送数据。
参数及说明:string|ArrayBuffer data,要发送的数据。
示例代码
const tcp = wx.createTCPSocket()
tcp.write('hello, how are you')