没有合适的资源?快使用搜索试试~ 我知道了~
首页C++_p2p实现多线程文件传输.doc
C++_p2p实现多线程文件传输.doc
4星 · 超过85%的资源 需积分: 50 153 下载量 188 浏览量
更新于2023-03-03
评论 4
收藏 53KB DOC 举报
C++_p2p实现多线程文件传输.docC++_p2p实现多线程文件传输.docC++_p2p实现多线程文件传输.docC++_p2p实现多线程文件传输.docC++_p2p实现多线程文件传输.docC++_p2p实现多线程文件传输.docC++_p2p实现多线程文件传输.docC++_p2p实现多线程文件传输.docC++_p2p实现多线程文件传输.docC++_p2p实现多线程文件传输.docC++_p2p实现多线程文件传输.doc
资源详情
资源评论
资源推荐
C++ p2p 实现多线程文件传输
时间 来源未知 作者点击 次
在如今的网络应用中,文件的传送是重要的功能之一,也是共享的基
在如今的网络应用中,文件的传送是重要的功能之一,也是共享的基础。一些
重要的协议像 , 等都支持文件的传送。尤其是 ,它的全称 就是
“文件传送协议”,当 初的工程师设计这一协议就是为了解决网络间的文件传送
问题,而且以其稳定,高速,简单而一直保持着很大的生命力。作为一个程序
员,使用这些现有的协议传送 文件相当简单,不过,它们只适用于服务器模式
中。这样,当我们想在点与点之间传送文件就不适用了或相当麻烦,有一种大
刀小用的意味。笔者一直想寻求一种简 单有效,且具备多线程断点续传的方法
来实现点与点之间的文件传送问题,经过大量的翻阅资料与测试,终于实现了,
现把它共享出来,与大家分享。
我写了一个以此为基础的实用程序(网络传圣,包含源代码),可用了基于
的电脑上,供大家学习。
实现方法(++,基于 协议)如下: 内容来自 。
仍辨用服务器与客户模式,需分别对其设计与编程。
服务器端较简单,主要就是加入待传文件,监听客户,和传送文件。而那些断
点续传的功能,以及文件的管理都放在客户端上。
一、服务器端
首先介绍服务器端:
最开始我们要定义一个简单的协议,也就是定义一个服务器端与客户端听得懂
的语言。而为了把问题简化,我就让服务器只要听懂两句话,一就是客户说“我
要读文件信息”,二就是“我准备好了,可以传文件了”。
由于要实现多线程,必须把功能独立出来,且包装成线程,首先建一个监听线
程,主要负责接入客户,并启动另一个客户线程。我用 实现如下:
!"# !$%&'()*+" &,,)-
.
由主函数传来的套接字
/"01,('2*/"01-&,,)3
开始监听
)2&'*,('45-3
如果错就显示信息
6*)7-.
/)83
29&' 错误:93
%6;<=!*->/=''8? ''*!=@%<14
*+%#%=-<
ABC)*-4-3
#&'ABC)*-3
)B)3
D
进入循环,并接收到来的套接字
(&*-.
新建一个套接字,用于客户端
/"01'3
'2,*,('4$E++4$E++-3
给主函数发有人联入消息
/)83
29一人联入!:93
%6;<=!*->/=''8? ''*!=@%<14
*+%#%=-<ABC
)*-4-3
#&'ABC)*-3
!"# ()3
建立用户线程
)()*$E++44&()4*+" -'44F()-3
D
)B)3内容来自 。
D
接着我们来看用户线程:
先看文件消息类定义:
')BG&6?
.
G&?3文件号
H,3客户端想说什么(前面那两句话,用 4 表示)
&?8&3文件长度
'I3文件开始位置,用于多线程
()JK3文件名
D3
用户线程函数
!"# !$%&()*+" &,,)-
.
文件消息
G&6?LG6?3
接收缓存
()L@B63
@B62()JK3
监听函数传来的用户套接字
/"01,('2*/"01-&,,)3
读传来的信息
2)*,('4@B64-3
如果有错就返回
6*7-.
&?''?I*,('-3
)B)3
D
把传来的信息转为定义的文件信息
G6?2*G&6?L-@B63
/)83
检验客户想说什么
'(*G6?>H,-
.
我要读文件信息
'
读文件
2'*,('4*()L-MG&4N-3
有错
6*7-.
&?''?I*,('-3
)B)3
D
发消息给主函数
29收到 +/ 命令:93
%6;<=!*->/=''8? ''*!=@%<14
*+%#%=-<AB
C)*-4-3
)I3
我准备好了,可以传文件了
'
发文件消息给主函数
?)*9O'文件被请求!O':94MG&JG6?
>G&?K4,(JG
6?>G&?K-3
%6;<=!*->/=''8? ''*!=@%<14
*+%#%=-<ABC)
剩余11页未读,继续阅读
hebutliu
- 粉丝: 9
- 资源: 70
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- 2022年中国足球球迷营销价值报告.pdf
- 房地产培训 -营销总每天在干嘛.pptx
- 黄色简约实用介绍_汇报PPT模板.pptx
- 嵌入式系统原理及应用:第三章 ARM编程简介_3.pdf
- 多媒体应用系统.pptx
- 黄灰配色简约设计精美大气商务汇报PPT模板.pptx
- 用matlab绘制差分方程Z变换-反变换-zplane-residuez-tf2zp-zp2tf-tf2sos-sos2tf-幅相频谱等等.docx
- 网络营销策略-网络营销团队的建立.docx
- 电子商务示范企业申请报告.doc
- 淡雅灰低面风背景完整框架创业商业计划书PPT模板.pptx
- 计算模型与算法技术:10-Iterative Improvement.ppt
- 计算模型与算法技术:9-Greedy Technique.ppt
- 计算模型与算法技术:6-Transform-and-Conquer.ppt
- 云服务安全风险分析研究.pdf
- 软件工程笔记(完整版).doc
- 电子商务网项目实例规划书.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论14