小程序在基础库2.18.0,开始提供TCP API功能,它可以创建一个TCP SOCKET实例,并与局域网内的TCP服务,或者配置过的服务器域名进行通信。它默认限制了一些TCP端口,在使用的小程序 TCP API进行连接TCP服务时,TCP服务请不要使用这些端口。
小程序在开发工具中调试时,只能创建一个TCPSocket,但是真机调试时,可以创建多个,因此,你在使用时,请注意这些问题。我在开发时,就被这些问题困扰了一段时间。
使用小程序TCP 功能,非常简单。
1,创建TCP Socket实例,使用wx.createTCPSocket()。
var t = null;
t = wx.createTCPSocket()
2,设置监听器。
t.onError(that.tErr) t.onConnect(that.tConn) t.onMessage(that.tMsg) t.onClose(that.tClose)
3,打开连接。
t.connect({
address: ip,
port: port,
timeout: 3,
})
4,发送数据。
t.write(that.data.sendMsg)
5,关闭连接。
t.offMessage()
t.offConnect()
t.offError()
t.offClose()
t.close()
t = null;
以上,是使用TCP的一些核心代码,你可以根据你的业务需求加以完善。我的小程序实现了一个功能,使用小程序的TCP API,可以调试局域网内的TCP服务。这个功能,对于开发排查一些问题来说,非常有用。
调试界面如下:
对于一些使用设备服务,或者本地开发环境,可以作为TCP调试客户端使用。