更新记录
1.1.3(2024-06-27)
- 修复未连接成功时,调用断开连接空指针异常。
- 调整连接的超时时间。
- 优化因频繁调用连接而导致的卡顿问题。
1.1.2(2024-04-19)
- 修复服务端异常断开后,导致监听消息一直返回空信息
- 监听消息增加断开状态码:-1
1.1.1(2024-04-10)
- 修复发送普通文本消息不支持中文问题
查看更多
平台兼容性
Android |
Android CPU类型 |
iOS |
适用版本区间:4.4 - 11.0 |
armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 |
× |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios
注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择
引入插件
const TCPSocket = uni.requireNativePlugin("TCP-Socket");
连接
创建TCP连接
TCPSocket.connect({
host: '192.168.1.1',
port: 8888
}, res => {
uni.showToast({ title: '响应数据:' + JSON.stringify(res), icon: 'none' });
});
参数说明
参数名 |
类型 |
必填 |
说明 |
host |
String |
是 |
主机地址 |
port |
String |
是 |
主机端口 |
timeout |
Number |
否 |
超时时间,单位毫秒,默认:10000 |
响应参数说明
参数名 |
类型 |
必填 |
说明 |
code |
Number |
是 |
状态码,成功:200,失败:400 |
message |
String |
否 |
失败原因 |
连接状态
获取TCP连接状态
TCPSocket.isConnected(status => {
uni.showToast({ title: '响应数据:' + status, icon: 'none' });
});
响应参数说明
参数名 |
类型 |
必填 |
说明 |
status |
Boolean |
是 |
状态 |
断开连接
断开TCP连接
TCPSocket.disconnect(res => {
uni.showToast({ title: '响应数据:' + JSON.stringify(res), icon: 'none' });
});
响应参数说明
参数名 |
类型 |
必填 |
说明 |
code |
Number |
是 |
状态码,成功:200,失败:400 |
message |
String |
否 |
失败原因 |
监听消息
监听服务端响应消息
TCPSocket.message({
// 如果不设置参数,此处必须保留空对象
charsetName: 'GBK'
}, res => {
uni.showToast({ title: '响应数据:' + JSON.stringify(res), icon: 'none' });
});
参数说明
参数名 |
类型 |
必填 |
说明 |
charsetName |
String |
否 |
字符,默认UTF-8,可选:GBK,HEX |
响应参数说明
参数名 |
类型 |
必填 |
说明 |
code |
Number |
是 |
状态码,成功:200,失败:400,连接断开:-1 |
data |
String |
否 |
服务端响应的消息 |
message |
String |
否 |
失败原因 |
发送文本
向服务端发送普通文本消息
TCPSocket.send('abcd123', res => {
uni.showToast({ title: '响应数据:' + JSON.stringify(res), icon: 'none' });
});
响应参数说明
参数名 |
类型 |
必填 |
说明 |
code |
Number |
是 |
状态码,成功:200,失败:400 |
message |
String |
否 |
失败原因 |
发送Hex
向服务端发送16进制消息
TCPSocket.sendHex(['0C', '62', '06', '0A', 'D7', '3C'], res => {
uni.showToast({ title: '响应数据:' + JSON.stringify(res), icon: 'none' });
});
响应参数说明
参数名 |
类型 |
必填 |
说明 |
code |
Number |
是 |
状态码,成功:200,失败:400 |
message |
String |
否 |
失败原因 |