更新记录
1.0.0(2025-01-03)
下载此版本
2025-01-01
编写插件
平台兼容性
App |
快应用 |
微信小程序 |
支付宝小程序 |
百度小程序 |
字节小程序 |
QQ小程序 |
HBuilderX 3.8.7 app-vue app-nvue |
× |
× |
× |
× |
× |
× |
钉钉小程序 |
快手小程序 |
飞书小程序 |
京东小程序 |
鸿蒙元服务 |
× |
× |
× |
× |
× |
H5-Safari |
Android Browser |
微信浏览器(Android) |
QQ浏览器(Android) |
Chrome |
IE |
Edge |
Firefox |
PC-Safari |
× |
× |
× |
× |
× |
× |
× |
× |
× |
uniapp官方提供了小程序的socket连接 uni.createTCPSocket()
,居然没有提供安卓的socket,这让我很意外
插件市场搜了搜,确实有一些实现的,但都是收费的,我寻思这个实现也不难,欺负前端不懂Java嘛
因为我本人是做Java的,所以写起来也比较简单,用Nativejs的方式实现了一个简单的Socket通信
我本人的需求只用到了发送消息,支持发送字节数组和字符串,基本上满足90%的需求了
如果想客户端服务端双向通信的话,建议用WebSocket更好(不过Socket也可以实现)
如果有需要增加功能或者定制化的可以联系我
canvas有个大坑,获取到canvas的字节数组范围是-256~255,我属实无法理解为什么字节会搞出这种范围,但是小程序的Socket是可以直接发送的,Java的不行
所以发送的代码里做了额外的处理,将溢出-128~127的数值处理回了正常的范围(实际上他们服务端强转后也是正常范围)
用法
import TCPSocket from '@/js_sdk/wenruo-socket.js'
export default {
data() {
return {
}
},
methods: {
connectSocket() {
TCPSocket.connectWifi("192.168.2.121", 9100);
const arr = [72, 101, 108, 108, 111]
TCPSocket.sendData(arr)
TCPSocket.sendStrData("HelloWorld")
TCPSocket.sendStrData(JSON.stringify({
str: "HelloWorld"
}))
}
}
}