关于传输文件效率的问题!

zaodt 2007-08-23 04:58:16
大家好!

我用 CSocket 从 PC 机上传输文件到 WinCE 嵌入式设备上。

发现传输的速度非常慢,而我用 WinCE 的资源管理器通过网络传输就很快。

请问,是不是我需要把 WinCE 中的接收文件程序的线程提高?

还是有其它方法?
...全文
302 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
zero569684450 2010-05-28
  • 打赏
  • 举报
回复
我也遇到同样的问题, 我把所有的文件数据接收过来,然后再write,
结果整个程序都卡住不动,实在太耗CPU了,我把写文件专门做成一个
线程也是一样,会把UI线程阻塞住!!!

紧急啊!!
deshun205 2007-08-28
  • 打赏
  • 举报
回复
LAN中只传输4K?太少了?你的传输机制存在问题.现在一般都采用包头和包体的方式来传输.先把包头发给对方,告诉对方马上要传输多少个字节,然后再把包体循环按照8K字节发过去.
zaodt 2007-08-28
  • 打赏
  • 举报
回复
deshun205(零下七度)

事实上,我就是按照这种方法传输的。

只不过我每次是传输 4K 字节;但是,我改到 32K 字节的效果也是一样的。
zaodt 2007-08-27
  • 打赏
  • 举报
回复
Up
zaodt 2007-08-27
  • 打赏
  • 举报
回复
补充:

我曾在两台PC机上传输100MB的文件,分别利用Windows自己的网络共享复制,和我的程序,耗时相差无几。

这说明我的程序在PC平台是没有问题的。
zaodt 2007-08-27
  • 打赏
  • 举报
回复
详细的情况是这样的:

PC机发送文件,WinCE设备接收文件,两边都用 CSocket。

PC机每次发送 4K 数据,WinCE设备接收 4K 数据,并将数据写入文件,然后PC继续发送 4K 数据。

WinCE设备把数据存储在SD卡中。

==========================================================

我做了一个实验,测试传输10MB的文件。

1、我在WinCE中映射了PC机中的共享文件夹,可以看到PC机中的共享文件夹,然后复制这个10MB的文件到SD卡中,耗时大概25秒。

2、用我自己的程序传输文件,用时大概210秒,相差非常悬殊。

==========================================================

我不知道系统的复制程序是怎么处理的,怎么那么快?


附:

WinCE 操作系统 WinCE .Net 4.2

硬件平台 三星2410CPU 200MHz
嗷嗷叫的老马 2007-08-27
  • 打赏
  • 举报
回复
你自己作过什么尝试?
Cricketol 2007-08-27
  • 打赏
  • 举报
回复
UP
q44072429 2007-08-27
  • 打赏
  • 举报
回复
我 遇到 过 类似的问题

可能是你Recv以后 写 文件 造成了 时间的浪费
zaodt 2007-08-27
  • 打赏
  • 举报
回复
Up
zaodt 2007-08-24
  • 打赏
  • 举报
回复
Up
DentistryDoctor 2007-08-23
  • 打赏
  • 举报
回复
谁知你代码怎么写的?
ouyh12345 2007-08-23
  • 打赏
  • 举报
回复
试一下把一块很大的数据从pc机上通过CSocket传输到WinCE 嵌入式设备上,
看效率如何。

两边的socket准备工作都是怎样写的?
i_love_pc 2007-08-23
  • 打赏
  • 举报
回复
友情帮顶!!

18,363

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧