开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 334|回复: 8
收起左侧

[已解决] 局域网里交换数据该用哪种数据交换格式?

 关闭 [复制链接]
结帖率:94% (91/97)
发表于 2024-8-24 18:09:35 | 显示全部楼层 |阅读模式   广西壮族自治区南宁市
50精币
最近在用HP框架写局域网传输工具,客户Duan要给服务端发送图片以及一些信息,我尝试把图片进行BASE64编码后存到JSON里进行传输,服务端收到后进行JOSN解析取文本,取编码后的文本信息花费时间非常长(图片只有2M多,编码后也就3M多)取文本差不多要20多秒的时间,请问有什么更好的方法吗?


最佳答案

查看完整内容

有,不付费的话可以翻我以前的开源代码,里面有个字节集数组打包

回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳
结帖率:83% (39/47)

签到天数: 31 天

发表于 2024-8-24 18:09:36 | 显示全部楼层   福建省宁德市
有,不付费的话可以翻我以前的开源代码,里面有个字节集数组打包
2.png

评分

参与人数 1荣誉 +1 收起 理由
笨潴 + 1 热心帮助他人,荣誉+1,希望继续努力(*^__^*) 嘻嘻!

查看全部评分

回复

使用道具 举报

签到天数: 15 天

发表于 2024-8-24 18:10:59 | 显示全部楼层   四川省宜宾市
不解析直接取文本中间不行吗,试试我给你的取中间代码 一下就取出来了
回复

使用道具 举报

结帖率:94% (91/97)

签到天数: 29 天

 楼主| 发表于 2024-8-24 18:12:26 | 显示全部楼层   广西壮族自治区南宁市
LEOONL 发表于 2024-8-24 18:10
不解析直接取文本中间不行吗,试试我给你的取中间代码 一下就取出来了

你这个提议也可以,我想看看有没有更好的。
回复

使用道具 举报

结帖率:83% (10/12)

签到天数: 6 天

发表于 2024-8-24 18:36:32 | 显示全部楼层   江苏省苏州市
为啥不直接传
回复

使用道具 举报

结帖率:92% (12/13)

签到天数: 4 天

发表于 2024-8-24 18:37:00 | 显示全部楼层   山东省枣庄市
好好的图片,为什么要到文本???
字节集本身就有格式,,你直接在字节集最前面,加上标签,比如{0,0,1,0,0}代表图片
{0,0,2,0,0}代表文本
这样不就好了,获取的时候,根据最前面的标志位,直接诶取字节集,这样就是瞬间取出来的
回复

使用道具 举报

结帖率:94% (91/97)

签到天数: 29 天

 楼主| 发表于 2024-8-24 18:37:42 | 显示全部楼层   广西壮族自治区南宁市
ChinaSaga 发表于 2024-8-24 18:37
好好的图片,为什么要到文本???
字节集本身就有格式,,你直接在字节集最前面,加上标签,比如{0,0,1,0,0}代表图 ...

因为我想客户Duan传输给服务端的时候附带一些别的文字信息,所以要把图片进行编码
回复

使用道具 举报

结帖率:92% (12/13)

签到天数: 4 天

发表于 2024-8-24 19:11:12 | 显示全部楼层   山东省枣庄市
.版本 2
.支持库 spec

局_接收字节集 = 圣人自用_取协议包 (到字节集 (“1”)) + 圣人自用_取协议包 (到字节集 (到整数 (2))) + 圣人自用_取协议包 ({ 6, 6, 6 })

调试输出 (圣人自用_协议包_取文本 (局_接收字节集))

调试输出 (圣人自用_协议包_取整数 (局_接收字节集))

调试输出 (圣人自用_协议包_取字节集 (局_接收字节集))




.版本 2

.子程序 圣人自用_取协议包, 字节集, 公开, 返回字节集的长度的字节集 + 传进来的字节集本身
.参数 Data, 字节集

返回 (到字节集 (取字节集长度 (Data)) + Data)

.子程序 圣人自用_协议包_取整数, 整数型, 公开, 0x48 根据键取值,返回类型是创建时设置的值类型
.参数 参_数据字节集, 字节集, 参考
.局部变量 局_将要取出的字节集长度, 整数型
.局部变量 局_取出的字节集, 字节集

局_将要取出的字节集长度 = 取字节集数据 (参_数据字节集, #整数型, 1)

局_取出的字节集 = 取字节集中间 (参_数据字节集, 5, 局_将要取出的字节集长度)

参_数据字节集 = 取字节集中间 (参_数据字节集, 局_将要取出的字节集长度 + 5, 取字节集长度 (参_数据字节集))

返回 (取字节集数据 (局_取出的字节集, #整数型, 1))

.子程序 圣人自用_协议包_取文本, 文本型, 公开, 0x48 根据键取值,返回类型是创建时设置的值类型
.参数 参_数据字节集, 字节集, 参考
.局部变量 局_将要取出的字节集长度, 整数型
.局部变量 局_取出的字节集, 字节集


局_将要取出的字节集长度 = 取字节集数据 (参_数据字节集, #整数型, 1)

局_取出的字节集 = 取字节集中间 (参_数据字节集, 5, 局_将要取出的字节集长度)

参_数据字节集 = 取字节集中间 (参_数据字节集, 局_将要取出的字节集长度 + 5, 取字节集长度 (参_数据字节集))

返回 (取字节集数据 (局_取出的字节集, #文本型, 1))


.子程序 圣人自用_协议包_取长整数, 长整数型, 公开, 0x48 根据键取值,返回类型是创建时设置的值类型
.参数 参_数据字节集, 字节集, 参考
.局部变量 局_将要取出的字节集长度, 整数型
.局部变量 局_取出的字节集, 字节集


局_将要取出的字节集长度 = 取字节集数据 (参_数据字节集, #整数型, 1)

局_取出的字节集 = 取字节集中间 (参_数据字节集, 5, 局_将要取出的字节集长度)

参_数据字节集 = 取字节集中间 (参_数据字节集, 局_将要取出的字节集长度 + 5, 取字节集长度 (参_数据字节集))

返回 (取字节集数据 (局_取出的字节集, #长整数型, 1))


.子程序 圣人自用_协议包_取字节集, 字节集, 公开, 0x48 根据键取值,返回类型是创建时设置的值类型
.参数 参_数据字节集, 字节集, 参考
.局部变量 局_将要取出的字节集长度, 整数型
.局部变量 局_取出的字节集, 字节集


局_将要取出的字节集长度 = 取字节集数据 (参_数据字节集, #整数型, 1)

局_取出的字节集 = 取字节集中间 (参_数据字节集, 5, 局_将要取出的字节集长度)

参_数据字节集 = 取字节集中间 (参_数据字节集, 局_将要取出的字节集长度 + 5, 取字节集长度 (参_数据字节集))

返回 (局_取出的字节集)
回复

使用道具 举报

结帖率:92% (12/13)

签到天数: 4 天

发表于 2024-8-24 19:13:08 | 显示全部楼层   山东省枣庄市
给你一个例子,自己看看能不能理解.666替换为图片字节集
这样每一次发送,都可以携带你想要的文本,整数,.长整数,字节集,或者其他类型
只需要按顺序取字节集的类型就好了
如果没有文字,你完全可以把"无文本"这样东西塞进去,或者吧JSON放第一个,图片放第二个
图片直接解析,文本放第一个,然后再解析成JSON
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表