最近在做一个项目,其中频繁的要同步数据,同步数据用的是ftp,现在的问题是同步可以正常,但是文件太大就出问题了,慢而且卡,搞得不好程序估计没响应.上次我们老大去别人公司演示,别人的广告文件一个600多M,大一点的一两G,当时他把文件往上面一拖,程序卡的不动了.
请问大神,如何将一个文件分割成N份,然后用N个线程同时上传,
把文件分成N份,倒还好搞,但是到服务器那边就不好控制,因为是用ftp的,上传的时候服务器那边又不能感应和控制客户端的上传情况,如果用Socket还好,但是socket管理起来难.如果把N份文件流同时上传至服务器,服务器如何识别上传的顺序又如何将他们重组成一个完整的文件.

解决方案 »

  1.   

    用socket,服务端可以先创建 一个完整大小的文件然后每个线程写入不同的位置
      

  2.   

    我们老大说不让用Socket,他说Socket不好管理,如果用Socket还得改程序的流程.
      

  3.   

    在你们这种“只会用从网上吵得几行代码,而不会自己进行服务器开发”的所谓开发方法下,是不可能做到的。默认情况下,ftp服务器根本不支持什么多线程上传同一个文件的处理。
      

  4.   

    即使是单线程顺序上传,使用ftp往往也比tcp要慢许多倍,而且你使用那种抄来的四五行代码的所谓ftp客户端代码,你也看不到支持上传进度的代码写法。总之程序设计人员就是因为有点深入的知识,所以才叫“设计人员”。你的老大提的问题和他的设想,如果是比较“想当然”的,那么最好把这个问题扔回给你“老大”去做而自己捡一些“无压力”的轻松工作去做。