精易论坛

标题: 用HPsocket的发送文本数据写好,发送文件和判断文件不会写 [打印本页]

作者: KiaPol    时间: 2025-1-30 16:54
标题: 用HPsocket的发送文本数据写好,发送文件和判断文件不会写
pack客户Duan.发送_小文件,参数3 4 文件头尾,不知道怎么写

而且不知道服务器怎么接收


因为服务器接收有文本信息,后面有图片等其他文件

不知道怎么判断,发送文本信息的时候用的json,发送文件不知道怎么取和判定了

可以帮忙写个例子吗?

作者: 凌哥    时间: 2025-1-30 16:55
数据开头1个字节自定义为数据类型标志不就好了
作者: Mr.Yang    时间: 2025-1-30 16:59
小文件可以转base64.用文本方式发送.

中大型文件.可以定义字节集头来识别.

比如 发送{1,2,3}+文件.接收时判断前三位字节是否{1,2,3} 是的就删掉前三位.剩余的就是文件字节集了.
作者: KiaPol    时间: 2025-1-30 17:08
凌哥 发表于 2025-1-30 16:55
数据开头1个字节自定义为数据类型标志不就好了

那用发送_字节集还是发送_小文件
作者: KiaPol    时间: 2025-1-30 17:15
@chenboss   速来~~~~~~~~~~~~
作者: wlp    时间: 2025-1-30 18:42
  
数据类型名公开备 注
数据包 
成员名类 型传址数组备 注
文件类型字节型  
文件长度整数型  
文件数据字节集  



作者: KiaPol    时间: 2025-1-30 18:48
wlp 发表于 2025-1-30 18:42
[e=0].版本 2

.数据类型 数据包

客户Duan发送的参数3 4 数据类型是自定义数据 里面有两个成员 长度 数据
TCP_发送_小文件(句柄,"文件",数据类型,数据类型)
作者: wlp    时间: 2025-1-30 18:54
  
数据类型名公开备 注
数据包 
成员名类 型传址数组备 注
文件类型字节型  
文件长度整数型  
文件数据字节集  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
子程序名返回值类型公开备 注
__启动窗口_创建完毕  
变量名类 型静态数组备 注
编码_数据包数据包 
解码_数据包数据包 
编码数据字节集 
测试数据字节集 
测试数据 = { 1, 2, 3 }
解码_数据包.文件类型 = 1
解码_数据包.文件长度 = 取字节集长度 (测试数据)
解码_数据包.文件数据 = 测试数据
编码数据 = 编码 (解码_数据包)
调试输出 (“编码数据”, 编码数据)
判断 (解码 (编码数据, 解码_数据包))
调试输出 (“解码-成功”, 解码_数据包.文件类型, 解码_数据包.文件长度, 解码_数据包.文件数据)
调试输出 (“解码-失败”)

子程序名返回值类型公开备 注
编码字节集 
参数名类 型参考可空数组备 注
数据包数据包
变量名类 型静态数组备 注
数据字节集 
数据 = {  }
数据 = 数据 + 到字节集 (到字节 (数据包.文件类型))
数据 = 数据 + 到字节集 (到整数 (数据包.文件长度))
数据 = 数据 + 到字节集 (到字节集 (数据包.文件数据))
返回 (数据)
子程序名返回值类型公开备 注
解码逻辑型 
参数名类 型参考可空数组备 注
原始数据字节集
数据包数据包
变量名类 型静态数组备 注
偏移整数型 
如果真 (取字节集长度 (原始数据) < 1 + 4)  ' 数据最小包头 [文件类型 + 文件长度]
返回 ()
偏移 = 1
数据包.文件类型 = 取字节集数据 (取字节集中间 (原始数据, 偏移, 1), #字节型, )
偏移 = 偏移 + 1
数据包.文件长度 = 取字节集数据 (取字节集中间 (原始数据, 偏移, 4), #整数型, )
偏移 = 偏移 + 4
数据包.文件数据 = 取字节集中间 (原始数据, 偏移, 数据包.文件长度)
返回 (数据包.文件长度 = 取字节集长度 (数据包.文件数据))


i支持库列表   支持库注释   
spec特殊功能支持库


作者: a019872140    时间: 2025-1-31 00:48
到字节集(1234)+我的数据+到字节集(45678)...服务器判断 取字节集左边(数据,4)是否等于1234
作者: qq977352880    时间: 2025-1-31 06:30
来赚个积分,感谢分享。

作者: chenboss    时间: 2025-2-2 01:21
hp发送小文件接收图片.e





欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4