我做了一个服务器程序,以提供客户端下载文件,用TCP连接.假设服务器最大支持2500条TCP连接.
客户端的要求是,假设服务器比较空闲,也就是剩下的连接数还够的情况下,就应该多建立几条连接,以保证下载速度.
问题1: 建立几条连接比较合理. (现在我暂时定的5个连接)
问题2: 如何判断还能建立多少连接. (现在是连接上服务顺后.服务器返回一个还剩下的连接数,用剩下的连接数除以200,再取它与5的最小值)
由于客户端不止从服务器下载,还有P2P的功能.可从其它客户端下载.所以,我觉得在下载总速度达到某个值后,可以断开一些与服务器的连接.好让更多的客户端从服务器下载.
因为我下载的视频文件,下载后会播放它的.所以总速度的阀值我是用的视频的平均码率.
当客户端与服务器的连接中,有一些速度比较小的,比如4分钟内速度都小于5K/S,那么就删除这条连接.
问题3: 小于多少K,多长时间,定多少比较合适. (现在的做法是4分钟小于5K/S删除一个,8分钟小于5K/S又删除一个等等...)我取的这些值不太科学.我的目的是想让一台服务器能最大限度的支持更多的客户端下载.提供意见者有分!
客户端的要求是,假设服务器比较空闲,也就是剩下的连接数还够的情况下,就应该多建立几条连接,以保证下载速度.
问题1: 建立几条连接比较合理. (现在我暂时定的5个连接)
问题2: 如何判断还能建立多少连接. (现在是连接上服务顺后.服务器返回一个还剩下的连接数,用剩下的连接数除以200,再取它与5的最小值)
由于客户端不止从服务器下载,还有P2P的功能.可从其它客户端下载.所以,我觉得在下载总速度达到某个值后,可以断开一些与服务器的连接.好让更多的客户端从服务器下载.
因为我下载的视频文件,下载后会播放它的.所以总速度的阀值我是用的视频的平均码率.
当客户端与服务器的连接中,有一些速度比较小的,比如4分钟内速度都小于5K/S,那么就删除这条连接.
问题3: 小于多少K,多长时间,定多少比较合适. (现在的做法是4分钟小于5K/S删除一个,8分钟小于5K/S又删除一个等等...)我取的这些值不太科学.我的目的是想让一台服务器能最大限度的支持更多的客户端下载.提供意见者有分!
解决方案 »
- 为什么SQL Server的数据库表名称不能为数字
- vc6编译时的文件路径问题?
- *高分求解: 全局键盘钩子(hook)在不同的窗口作为当前窗口时, 地址空间是不是不一样???
- 怎样才能知道系统是在锁定状态和由锁定状态登录回到一般状态??谢谢!
- 有关java工程 和VC工程的交互,高分求助
- 关于串口控件注册的问题
- 十進制轉換成十六進制??C or C++源代碼,哪裏有?
- 调用dll却找不到dll中的导出函数???
- 好奇怪的现象,大家帮忙解决
- 字节顺序
- webbrowse控件只要调用SetUIHandler,在控件中点击链接就会报错
- vc2005 Microsoft Web Browser控件的对象调用GetDocument();为什么报错?
参考