社区
网络编程
帖子详情
有做过文件传输的么
crystal_dark
2011-01-24 11:24:46
多个客户端的文件同时上传到服务器,服务器的CPU占用率很高,这一般怎么处理?服务器端使用的是WSAAsynSelect模型
...全文
118
8
打赏
收藏
有做过文件传输的么
多个客户端的文件同时上传到服务器,服务器的CPU占用率很高,这一般怎么处理?服务器端使用的是WSAAsynSelect模型
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Torch009
2011-01-24
打赏
举报
回复
估计你在不该用的地方用了while
jwybobo2007
2011-01-24
打赏
举报
回复
那些客户端都在拼命的给你发数据,而你在拼命的接收,可能还在同时写文件,这是CPU高的主要原因。
通过更换模型不能很好的解决,你应该通过控制客户端上传数据的流量来处理,也就是说不让客户端给你拼命发送数据,一种是客户端本身计算通信量,然后通过定时器等等来统计流量,并控制发送频率,发送多了则休息几十毫秒;另一中是服务端控制流量,一旦发现单位时间统计的流量大于多少,就休息几十毫秒再接收数据。
上面说的是传输方面的资源节约方式。接下来就是减少写磁盘次数来达到降低CPU的目的,你可以定义比较大的一块接收缓冲区,如64K,每次收到数据就偏移指针,当缓冲区满再写磁盘。或者另外定义缓冲区,把接收到的数据给它,当它被填满则写文件。
xgPaul
2011-01-24
打赏
举报
回复
客户端数如果不多的话,可以考虑在传文件时一个客户对应一条线程,文件传完后关闭线程。。。
bragi523
2011-01-24
打赏
举报
回复
直接用个FTP服务器不行吗?
chenyu2202863
2011-01-24
打赏
举报
回复
服务端放弃使用这个模型
这个还要使用到窗口消息,烦躁!
直接用select吧
nicklisir
2011-01-24
打赏
举报
回复
[Quote=引用 1 楼 chenyu2202863 的回复:]
服务端放弃使用这个模型
这个还要使用到窗口消息,烦躁!
直接用select吧
[/Quote]
+++,虽然没做过,但是我同意这观点。。。。
翅膀又硬了
2011-01-24
打赏
举报
回复
把收到的数据缓存一下,攒够一定数量再写一次。试试
Android多线程文件夹下载及断点续传
Android实现网络多线程下载,断点续传,压缩包内有两个项目: downloadDemo:多线程下载 MulThreadDownloader:断点续传(网上别人的项目)
scp命令传文件
SCP进行
文件传输
1、基本语法:2、具体用法1、从本地将
文件传输
到服务器2、从本地将文件夹传输到服务器3、将服务器上的
文件传输
到本地4、将服务器上的文件夹传输到本地 1、基本语法: Linux scp 命令用于 Linux 之间...
在手机与计算机之间进行
文件传输
的方式,电脑和手机传输文件方法_电脑和手机如何传文件-win7之家...
我们会经常使用手机和电脑之间互相传输文件,一般来说都是用usb数据线来传输,要是数据线坏了的时候该怎么办,我们也可以用一些软件来进行传输,那么电脑和手机如何传文件呢,下面小编给大家分享电脑和手机传输文件...
大文件如何传输,大文件的传输方式有哪些?
PPT演示文稿等
文件传输
,中经常使用视频和图像,因此这些类型的媒体文件附件也较大;企业大文件跨国传输(因网络环境问题,常规的传输方式不适合大文件跨国传输);企业的数据量急剧增长,海量数据分发与收集传输...
C# 实现超大
文件传输
、断点续传等功能
经常有小伙伴在开发控制台、winform、WPF等C/S软件时,会有
文件传输
的需求。正好RRQMSocket.RPC完美支持这个,所以给大家介绍一波。文档首页Nuget安装即可,具体步骤详看链接博客。VS、Unity安装和使用Nuget包RRQM...
网络编程
18,355
社区成员
64,218
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章