核心功能就是:一个服务器,多个客户端(初期可能会在100个左右,未来最优情况可能达到几千个,不过未来情况可暂时不考虑),这些客户端可能同时向服务器端发送文件,服务器端接收后存储。
服务器带宽采用100M独享,客户端大部队是ADSL。
请问一般采用什么技术?socket?如果采用Web Service性能可不可以达到?
能做出这种软件的人开他多少月薪合适?
谢谢指教!
(同主题问题发布在专题开发的网络通信版内)
18 个解决方案
#1
XML
#2
楼上的回答还真是精练,呵呵。
#3
UP一下。
#4
文件一般不会很大,但不排除有几百M到几G的大文件。但大部分文件是1M到2M左右,但是文件很多。
核心应用定位在小文件的传送上。如果大文件做不了也可以不做,毕竟实际应用中比较少,到时候实在没办法用移动硬盘COPY吧。
FTP理论上也可以做,不过最好还是用程序,得考虑到用户的层次;另外对以后加密传输也可以更好的控制;而且程序传输的话,传输之前就可以得到需要传多少、大概多少时间、同时生成一个随机数给客户端用于日后的验证。
如果用WebService,我自己基本上也能搞定;不过socket我就没有什么经验了。当然我还是比较倾向于请人。
我想开8K每月不知道能不能请到这样的高手?不仅仅是做传输,要对系统架构设计方面也比较精通,数据库设计也要厉害一些。希望大家也给个价位参考一下。
有了解的朋友也谈谈技术上大体的实现。
核心应用定位在小文件的传送上。如果大文件做不了也可以不做,毕竟实际应用中比较少,到时候实在没办法用移动硬盘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技术,
网络编程、应用开发等内容。
欢迎加入,大家一起交流、学习成长!
web service太冗余,而且难做断点续传,不推荐。2MB的文件,99%传完了,ADSL断开了,只能重新来过。
这种应用使用socket,效率高得多。可以自定义传输协议,比如加密什么的,也没什么难度的。
客户端一般是WINDOWS,服务器端得看你选什么平台了,才好说什么具体技术。window上都是完成端口,linux可以用epoll。
──────────────────────
国内专业的ACE论坛开通:
www.acejoy.com
www.acedevelop.com
涉及ACE使用和开发,服务器端软件的设计,P2P技术,
网络编程、应用开发等内容。
欢迎加入,大家一起交流、学习成长!
#8
加密传输和大文件传输都不是现在需要考虑的问题,所以无所谓。
服务器倾向于用Windows,因为后面的WEB一块我可以用.NET协助开发。
谢谢楼上各位回复,希望楼下也多捧场。
服务器倾向于用Windows,因为后面的WEB一块我可以用.NET协助开发。
谢谢楼上各位回复,希望楼下也多捧场。
#9
Socket一对多一般怎么个做?
高手们无聊时说说大体思路即可,呵呵。
高手们无聊时说说大体思路即可,呵呵。
#10
队列
#11
100M独享不算快..
因为大部分文件是1M到2M左右,而且客户100个左右,那么服务器带宽一分就是1M了.换成KB就很小了.传送时间就很长了.明显用IOCP根本不适合,用MS SQL的方法好了..来个客户就起个线程服务.
在一个线程里监听连接,来个客户就起个线程进行Send或者Recv
因为大部分文件是1M到2M左右,而且客户100个左右,那么服务器带宽一分就是1M了.换成KB就很小了.传送时间就很长了.明显用IOCP根本不适合,用MS SQL的方法好了..来个客户就起个线程服务.
在一个线程里监听连接,来个客户就起个线程进行Send或者Recv
#12
IOCP适合连接数量多,但服务时间短的场合吧~~不知道有没错.
#13
Socket一对多一般怎么个做?
聊天室一般都采用此种模型~~~
可以采用多线程,也可以用链表数据结构保存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每月不知道能不能请到这样的高手?不仅仅是做传输,要对系统架构设计方面也比较精通,数据库设计也要厉害一些。希望大家也给个价位参考一下。
有了解的朋友也谈谈技术上大体的实现。
核心应用定位在小文件的传送上。如果大文件做不了也可以不做,毕竟实际应用中比较少,到时候实在没办法用移动硬盘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技术,
网络编程、应用开发等内容。
欢迎加入,大家一起交流、学习成长!
web service太冗余,而且难做断点续传,不推荐。2MB的文件,99%传完了,ADSL断开了,只能重新来过。
这种应用使用socket,效率高得多。可以自定义传输协议,比如加密什么的,也没什么难度的。
客户端一般是WINDOWS,服务器端得看你选什么平台了,才好说什么具体技术。window上都是完成端口,linux可以用epoll。
──────────────────────
国内专业的ACE论坛开通:
www.acejoy.com
www.acedevelop.com
涉及ACE使用和开发,服务器端软件的设计,P2P技术,
网络编程、应用开发等内容。
欢迎加入,大家一起交流、学习成长!
#8
加密传输和大文件传输都不是现在需要考虑的问题,所以无所谓。
服务器倾向于用Windows,因为后面的WEB一块我可以用.NET协助开发。
谢谢楼上各位回复,希望楼下也多捧场。
服务器倾向于用Windows,因为后面的WEB一块我可以用.NET协助开发。
谢谢楼上各位回复,希望楼下也多捧场。
#9
Socket一对多一般怎么个做?
高手们无聊时说说大体思路即可,呵呵。
高手们无聊时说说大体思路即可,呵呵。
#10
队列
#11
100M独享不算快..
因为大部分文件是1M到2M左右,而且客户100个左右,那么服务器带宽一分就是1M了.换成KB就很小了.传送时间就很长了.明显用IOCP根本不适合,用MS SQL的方法好了..来个客户就起个线程服务.
在一个线程里监听连接,来个客户就起个线程进行Send或者Recv
因为大部分文件是1M到2M左右,而且客户100个左右,那么服务器带宽一分就是1M了.换成KB就很小了.传送时间就很长了.明显用IOCP根本不适合,用MS SQL的方法好了..来个客户就起个线程服务.
在一个线程里监听连接,来个客户就起个线程进行Send或者Recv
#12
IOCP适合连接数量多,但服务时间短的场合吧~~不知道有没错.
#13
Socket一对多一般怎么个做?
聊天室一般都采用此种模型~~~
可以采用多线程,也可以用链表数据结构保存Socket~~~
聊天室一般都采用此种模型~~~
可以采用多线程,也可以用链表数据结构保存Socket~~~
#14
mark...
#15
我以前做过文件加密传输给服务器 然后在服务器存储。 我采用的就是SOCKET 自己定的协议
#16
自定协议- -#!
#17
其实应该算是比较不困难的了吧。。。
#18
安装个ftp服务软件就解决了,根本不用写.