文件传输问题。多客户端向一个服务器端传送文件,请问使用什么技术?100分

时间:2022-09-12 20:16:05
我过段时间可能要着手一个项目,不是自己做(没这个水平),要请人开发。
核心功能就是:一个服务器,多个客户端(初期可能会在100个左右,未来最优情况可能达到几千个,不过未来情况可暂时不考虑),这些客户端可能同时向服务器端发送文件,服务器端接收后存储。
服务器带宽采用100M独享,客户端大部队是ADSL。

请问一般采用什么技术?socket?如果采用Web Service性能可不可以达到?

能做出这种软件的人开他多少月薪合适?

谢谢指教!
(同主题问题发布在专题开发的网络通信版内)

18 个解决方案

#1


XML

#2


楼上的回答还真是精练,呵呵。

#3


UP一下。

#4


文件一般不会很大,但不排除有几百M到几G的大文件。但大部分文件是1M到2M左右,但是文件很多。
核心应用定位在小文件的传送上。如果大文件做不了也可以不做,毕竟实际应用中比较少,到时候实在没办法用移动硬盘COPY吧。
FTP理论上也可以做,不过最好还是用程序,得考虑到用户的层次;另外对以后加密传输也可以更好的控制;而且程序传输的话,传输之前就可以得到需要传多少、大概多少时间、同时生成一个随机数给客户端用于日后的验证。

如果用WebService,我自己基本上也能搞定;不过socket我就没有什么经验了。当然我还是比较倾向于请人。

我想开8K每月不知道能不能请到这样的高手?不仅仅是做传输,要对系统架构设计方面也比较精通,数据库设计也要厉害一些。希望大家也给个价位参考一下。
有了解的朋友也谈谈技术上大体的实现。

#5


应该要用到多线程技术

#6


WebService速度比较慢. 只有用SOCKET. 最好用UDP协议

#7


我了解你这个程序的要求了。呵呵。8K找人,足够了。

web service太冗余,而且难做断点续传,不推荐。2MB的文件,99%传完了,ADSL断开了,只能重新来过。
这种应用使用socket,效率高得多。可以自定义传输协议,比如加密什么的,也没什么难度的。
客户端一般是WINDOWS,服务器端得看你选什么平台了,才好说什么具体技术。window上都是完成端口,linux可以用epoll。

──────────────────────
国内专业的ACE论坛开通:
www.acejoy.com 
www.acedevelop.com
涉及ACE使用和开发,服务器端软件的设计,P2P技术,
网络编程、应用开发等内容。
欢迎加入,大家一起交流、学习成长!

#8


加密传输和大文件传输都不是现在需要考虑的问题,所以无所谓。

服务器倾向于用Windows,因为后面的WEB一块我可以用.NET协助开发。

谢谢楼上各位回复,希望楼下也多捧场。

#9


Socket一对多一般怎么个做?
高手们无聊时说说大体思路即可,呵呵。

#10


队列

#11


100M独享不算快..

因为大部分文件是1M到2M左右,而且客户100个左右,那么服务器带宽一分就是1M了.换成KB就很小了.传送时间就很长了.明显用IOCP根本不适合,用MS SQL的方法好了..来个客户就起个线程服务.
在一个线程里监听连接,来个客户就起个线程进行Send或者Recv

#12


IOCP适合连接数量多,但服务时间短的场合吧~~不知道有没错.

#13


Socket一对多一般怎么个做?
聊天室一般都采用此种模型~~~
可以采用多线程,也可以用链表数据结构保存Socket~~~

#14


mark...

#15


我以前做过文件加密传输给服务器 然后在服务器存储。  我采用的就是SOCKET 自己定的协议

#16


自定协议- -#!

#17


其实应该算是比较不困难的了吧。。。

#18


安装个ftp服务软件就解决了,根本不用写.

#1


XML

#2


楼上的回答还真是精练,呵呵。

#3


UP一下。

#4


文件一般不会很大,但不排除有几百M到几G的大文件。但大部分文件是1M到2M左右,但是文件很多。
核心应用定位在小文件的传送上。如果大文件做不了也可以不做,毕竟实际应用中比较少,到时候实在没办法用移动硬盘COPY吧。
FTP理论上也可以做,不过最好还是用程序,得考虑到用户的层次;另外对以后加密传输也可以更好的控制;而且程序传输的话,传输之前就可以得到需要传多少、大概多少时间、同时生成一个随机数给客户端用于日后的验证。

如果用WebService,我自己基本上也能搞定;不过socket我就没有什么经验了。当然我还是比较倾向于请人。

我想开8K每月不知道能不能请到这样的高手?不仅仅是做传输,要对系统架构设计方面也比较精通,数据库设计也要厉害一些。希望大家也给个价位参考一下。
有了解的朋友也谈谈技术上大体的实现。

#5


应该要用到多线程技术

#6


WebService速度比较慢. 只有用SOCKET. 最好用UDP协议

#7


我了解你这个程序的要求了。呵呵。8K找人,足够了。

web service太冗余,而且难做断点续传,不推荐。2MB的文件,99%传完了,ADSL断开了,只能重新来过。
这种应用使用socket,效率高得多。可以自定义传输协议,比如加密什么的,也没什么难度的。
客户端一般是WINDOWS,服务器端得看你选什么平台了,才好说什么具体技术。window上都是完成端口,linux可以用epoll。

──────────────────────
国内专业的ACE论坛开通:
www.acejoy.com 
www.acedevelop.com
涉及ACE使用和开发,服务器端软件的设计,P2P技术,
网络编程、应用开发等内容。
欢迎加入,大家一起交流、学习成长!

#8


加密传输和大文件传输都不是现在需要考虑的问题,所以无所谓。

服务器倾向于用Windows,因为后面的WEB一块我可以用.NET协助开发。

谢谢楼上各位回复,希望楼下也多捧场。

#9


Socket一对多一般怎么个做?
高手们无聊时说说大体思路即可,呵呵。

#10


队列

#11


100M独享不算快..

因为大部分文件是1M到2M左右,而且客户100个左右,那么服务器带宽一分就是1M了.换成KB就很小了.传送时间就很长了.明显用IOCP根本不适合,用MS SQL的方法好了..来个客户就起个线程服务.
在一个线程里监听连接,来个客户就起个线程进行Send或者Recv

#12


IOCP适合连接数量多,但服务时间短的场合吧~~不知道有没错.

#13


Socket一对多一般怎么个做?
聊天室一般都采用此种模型~~~
可以采用多线程,也可以用链表数据结构保存Socket~~~

#14


mark...

#15


我以前做过文件加密传输给服务器 然后在服务器存储。  我采用的就是SOCKET 自己定的协议

#16


自定协议- -#!

#17


其实应该算是比较不困难的了吧。。。

#18


安装个ftp服务软件就解决了,根本不用写.