开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 20862|回复: 65
收起左侧

[易源码分享] 流式大文件CS架构传输工具.基于Hpsocket组件

[复制链接]
结帖率:43% (3/7)
发表于 2025-8-16 11:17:54 | 显示全部楼层 |阅读模式   浙江省温州市
分享源码
界面截图:
是否带模块: -
备注说明: -
本帖最后由 imoling 于 2025-8-16 17:10 编辑

本源码参用HPsocket组件进行网络通信。采用流式文件传输,内存占用较低,基本0损耗无波动。
使用PACK模式 包大小请自定义,我使用1024*1024
支持多用户多文件,单用户多文件,同时并发传输,理论单文件传输可以达到几百G几个T甚至几PB。
服务端基本ok。只要加点存储文件记录等就ok,我这边没有做,客户Duan么,只要自己加线程就ok了。最好是线程队列发送。
客户Duan的回调函数如果不喜欢用鱼刺的,可以换成指针方式,自行更换 注意销毁就ok.

【用到的模块】
服务端-HPsocket,大文件内存映射,精易
客户Duan-HPsocket,大文件内存映射,精易,鱼刺-多线程应用
【测试传输时环境】
客户Duanwin10.
服务器server2012
传输文件 20Gb
客户Duan内存占用 8.7MB
服务端内存占用 11MB--------------------------------------------------------
各位群友有什么其他好方法也可以交流,比如最近遇到复制文件,备份等问题。
打开的文件没法复制,想采用VSS 卷影复制方法,或者磁盘扇区复制方法,通过createfile指针方式,不过出了各种问题,打开的文件还是没法读取。。不知道是不是权限问题。
---------------------------------------------------------
论坛找了一下,说是支持大文件,直接传输一般只要大鱼4G,直接崩,hpsocket自带的。超过16G直接崩。。。要么就是单独文件,要么多用户并发或者单用户多文件同时发起就崩。。
本来要使用Pull模式,但是要进行沾包 拆包 组包 包排序有点麻烦,就使用pack模式,但是pack模式 最大4MB,这就尴尬了,要拆包但是要考虑包是不是同一个用户的,并且是不是同一个用户的同一个文件,所以干脆把文件直接拆了之后在固定成包大小,在每个包的包头再加上head头信息,类似pull模式,但是不用考虑包排序。效率低点,但是不用考虑包排序,因为pack会按顺序发,挺好
然后采用打开文件方式,使用了群里的内存大文件打开方式,可以获得长整数型,8字节理论单文件可以达到整个硬盘大小-1,总之呢就是很大。
有需要的小伙伴可以拿去改一下包头信息,加密方式等,就可以进行传输了。我主要用来进行多用户,大文件的传输.

17553137288926.png
7553127925696.png
17553127925696.png
17553116578842.png
17553128416783.png

重新打包一下,客户Duan和服务端一起,模块单独,模块包内工3个文件.鱼刺,大内存,hp。如果有了。可以不用下。
ServerAndClient.rar (613.55 KB, 下载次数: 131)

评分

参与人数 2精币 +2 收起 理由
cui870222829 + 1 感谢分享,很给力!~
kyo9766 + 1 感谢分享,很给力!~

查看全部评分


本帖被以下淘专辑推荐:

结帖率:100% (1/1)
发表于 2026-4-25 19:27:47 | 显示全部楼层   广西壮族自治区桂林市
学习一下
回复 支持 反对

使用道具 举报

发表于 2026-1-21 20:36:06 | 显示全部楼层   贵州省贵阳市
        感谢分享,很给力!~
回复 支持 反对

使用道具 举报

结帖率:43% (3/7)

签到天数: 3 天

 楼主| 发表于 2025-12-24 14:59:46 | 显示全部楼层   浙江省温州市
fasdfasfa 发表于 2025-12-22 14:22
发送的速度是固定值?不能取最大宽带吗?

不会慢,投递时是直接投递,系统会根据网络带宽自动分配的,1mb是包的大小,非传输的每秒速率。非要快点,可以更改客户Duan底下的数据包处理的间隔,缩短。但是会占用很大的宽带,得系统能处理得过来才行,否则会放入队列。。。另外也得服务端支持才行。。
回复 支持 反对

使用道具 举报

结帖率:73% (8/11)

签到天数: 7 天

发表于 2025-12-22 14:22:46 | 显示全部楼层   江西省南昌市
发送的速度是固定值?不能取最大宽带吗?
回复 支持 反对

使用道具 举报

签到天数: 6 天

发表于 2025-11-7 20:21:57 | 显示全部楼层   四川省达州市
感谢分享,很给力!~
回复 支持 反对

使用道具 举报

签到天数: 4 天

发表于 2025-10-15 23:27:55 | 显示全部楼层   安徽省合肥市
感谢分享,很给力!~
回复 支持 反对

使用道具 举报

结帖率:43% (3/7)

签到天数: 3 天

 楼主| 发表于 2025-10-7 10:10:51 | 显示全部楼层   浙江省温州市
米米粒 发表于 2025-9-30 16:10
请问这个只能nei网使用吗

可以wai网,但是前提是的服务端需要开放对应的端口,不管是动态域名dns或者ip
回复 支持 反对

使用道具 举报

结帖率:83% (20/24)
发表于 2025-9-30 16:10:13 | 显示全部楼层   香港特别行政区离岛区
请问这个只能nei网使用吗
回复 支持 反对

使用道具 举报

结帖率:55% (6/11)
发表于 2025-9-19 01:10:37 | 显示全部楼层   广东省中山市
感谢分享,很给力!~
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

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

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

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