更新记录
1.0.1(2025-01-13) 下载此版本
2025-01-13
更新支持小程序
1.0.0(2025-01-03) 下载此版本
2025-01-01
编写插件
平台兼容性
Vue2 | Vue3 |
---|---|
√ | × |
App | 快应用 | 微信小程序 | 支付宝小程序 | 百度小程序 | 字节小程序 | QQ小程序 |
---|---|---|---|---|---|---|
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"
}))
}
}
}