传输大文件,求大方向上的指导
正在做一个服务端,使用的是wcf的net.tcp,客户端使用普通的winform或者wpf.
主要问题是,服务端,我应该选择什么样的技术呢?
目前已经完成的是使用wcf,但是发现在外网上传大文件,时不时的总是timeout,
请问,在服务端上,我是应该修改为什么方式,用户的体验会好一点呢?
[解决办法]
呵呵 FTP
帮顶
[解决办法]
文件的上传和下载无外乎HTTP、FTP、P2P这三种,楼主不妨搜索一下C#的P2P实现,断点续传哦
[解决办法]
分成小块传输,首先传输文件大小,
然后服务器创建一个这么大的空文件,然后向客户端索取每一块。
如果传输失败,只要单独请求这一块就可以了。
服务器建立一个bitmap索引,表示哪些块传过了,哪些没有传,所有块都标记为传过了,就视为完成。
[解决办法]
你做的“服务端”是什么方式呢?
如果不用动脑子,那么上传文件使用 new WebClient().UploadFile(...) 这就行了,而服务器端(也就一两句话),用不着这么纠结。
如果要自己把握,那么就如#3楼说所得一样,你要具体分析程序运行通讯的时序图,要设计一个包括3、4个信令的协议集合,然后分别在服务器端和客户端实现它。这基本上是考虑到效率、需要使用socket的时候才这样设计的。
[解决办法]