多线程分块传输,急啊

xyuanzhi 2005-08-14 04:37:23
我要实现一个文件传输,用于游戏的在线升级,因此请求传输的用户会很多,而且文件会很大,可能超过100MB。
想采用多线程分块传输(每个线程负责一个分块的传输),支持断点续传。
请问如何实现?(传输协议是自定义的,不是ftp,或http)

一个用户分配2个传输线程,将文件分成2个分块传输对应于这两个线程。

请问这个多线程是如何建立的,是服务器收到传输文件的请求后,建立2个发送线程,而客户端只有一个线程用于接受吗?
用户很多的话,是否还得在服务器端建立线程池。

如果采用Directplay有什么好的方案吗,我的头都大了
...全文
140 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
DentistryDoctor 2005-08-16
客户端需要保存下载的状态信息,服务器端发送数据需要包含偏移及每个数据包的大小等信息。

如果用户很多还可以考虑使用些P2P的技术。
回复
etre 2005-08-16
用BT吧,我朋友用BT做了一个专门的游戏下载包啊.需要的留email
回复
zhxk 2005-08-16
能用现有资源就用现有资源,祝你成功
回复
microyzy 2005-08-16
对,干嘛不用现成的服务器,然后做一个客户端
回复
softrain 2005-08-15
用BT的下载方式吧,可以做个简易的BT下载工具,这需要一个服务器端软件
回复
xyuanzhi 2005-08-14
一个Socket(即一个连接)上使用2个线程不可以的吗?veryfunny()
回复
dirdirdir3 2005-08-14
数据量大,完成端口也没有什么用吧。
建议使用bt的形式,如魔兽世界.
回复
veryfunny 2005-08-14
1.如果服务器有两个线程分别发送,那客户端也要两个线程接收,因为分属不同的连接.
2.用户很多的话此方案不具可行性,建议采用完成端口.
3.建议研究其它游戏的更新方式,用P2P的也有不少.
回复
相关推荐
发帖
网络编程
创建于2007-09-28

1.8w+

社区成员

VC/MFC 网络编程
申请成为版主
帖子事件
创建了帖子
2005-08-14 04:37
社区公告
暂无公告