我想同时实现多文件传送。初步的想法是这样的
1本地有一个文件的缓存(数组),存放待发文件,文件还是1个一个发,等待1个文件发送完毕后再在缓存中读取下一个文件继续发送
但是有个问题。如果前一个文件出现不可预料的错误后面的文件就没法发送,该怎么办。有没有更好的解决方法

解决方案 »

  1.   

    利用 Winsock 控件数组。
      

  2.   

    同意都上的意见
    最好的办法是多线程 控制 多个Winsock控件To:charlsehan(Charlse Han) 
      vb用api可以写出多线程程序
      

  3.   

    使用MsComm控件数据传输时,使用CRC检测码,通过则说明传输成功
    否则,将重新发送
      

  4.   

    http://vbnew.www21.cnidc.cn/down/list.asp?unid=423
      

  5.   

    http://www.cn700.com/Down_144/20041023141516.html
      

  6.   

    to TechnoFantasy(冰儿马甲www.applevb.com) ( )
    老大 我也想过多线程,可是我考虑速度还有性能问题,再说我也不会写to : junki(『打破沙锅问到底』) 
    我用的是winsocket控件.不好意思没说清楚to 利用 Winsock 控件数组。
    我想是不是客户端也要用数组to  starsoulxp(星魂.NET) 
    谢谢体统的源码 ,不过我已经下载过了
      

  7.   

    用winsock控件数组,每个控件发送一个文件
      

  8.   

    多线程+winsock(动态创建)注意,多线程中尽量少用全局变量!
      

  9.   

    你发送文件时用的协议中有没有定义检验? 如果有的话, 接收端在接收完该文件所有字节及检验值之后, 应该进行检验, 如果检验值不符, 则应发送重发消息给发送端。简单地说,发送端与接收端之间是必须有一个通讯控制协议,这个协议可以是现成的TCP/IP协议簇中的某一个(比如HTTP,FTP,……),也可以是你自己定义的某种协议。要实现你所问的功能,则该协议中必须有纠错指令。
      

  10.   

    嗯~看来jadeluo(秀峰) 老兄已经把问题说得差不多了!也就是实现服务的概念了.不管有多少个客户端,反正就照着通信协议来干活.
    至于出错,那是客端的事.与服务器无关!因为服务器提供服务,客端提交请求,服务器只是照请求返回.
    客端请求单个文件也就提交一次请求,多个文件多次提交请求.自然也能实现断点续传!
    如果传送过程出现问题,服务器自动断开连接.再由客户端发起请求,继续进行传送!
    所以,一切把重点放到客户端就行了!
    但,VB实现服务...嘿~不简单...不简单!效率可能不会怎么高...
    如有可能,服务器考虑使用Delphi或VC,BCB之类的工具来写会好些!
      

  11.   

    前些天也要写来着.不过我的验证方法太忙烦了.
    我的问题服务器端恐怕会因为某一个客户端的异常而导致蹦溃.
    后来我都用数组,包括超时控制的Timer控件,接收数据的Winsock控件.其实我思路是有的,不过方法太忙烦了,我因为时间紧而放弃了试验.愿意交流一下.