在开发工具中代码执行正常,且服务端可完整接收数据
在真机(Windows 11 PC)上,可以建立连接,然而服务端收不到任何小程序发送的消息,同时终端抛出异常 errMsg: "write Unknown system error -1"
调试基础库 3.8.5,代码如下
//局域网内调试
App({
createTCP() {
const tcpSocket = wx.createTCPSocket()
tcpSocket.connect({
address: '192.168.x.x',
port: 8324,
success: () => {
console.log('TCP连接初始化成功')
},
fail: (err) => {
console.error('连接失败:', err)
}
})
// 事件监听
tcpSocket.onConnect(() => {
console.log('TCP连接建立成功')
this.sendTestMessage(tcpSocket)
console.log('发送信息')
})
tcpSocket.onMessage((res) => {
console.log('接收数据:', res.message)
})
tcpSocket.onError((error) => {
console.log(error)
console.error('通信异常:', error)
})
tcpSocket.onClose(() => {
console.log('连接已关闭')
})
this.tcpSocket = tcpSocket
},
// 发送测试数据
sendTestMessage(socket) {
socket.write('hello world')
},
// 主动断开
closeTCP() {
if (this.tcpSocket) {
this.tcpSocket.close()
}
},
onLaunch() {
this.createTCP()
}
})
服务端代码
import socket
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind(('0.0.0.0', 8324))
server_socket.listen(5)
print("服务器启动,监听端口 8324")
while True:
client_socket, addr = server_socket.accept()
print(f"新连接: {addr}")
client_socket.send(b"Hello")
data = client_socket.recv(1024).decode('utf-8')
print(f"接收数据: {data}")
client_socket.close()
在开发者工具执行时,服务端表现如下图
真机调试时的异常状态