可以交流一下吗,局域网中传大文件(CLIENTSOCKET和SERVERSOCKET) (100分)

  • 主题发起人 主题发起人 netpower
  • 开始时间 开始时间
N

netpower

Unregistered / Unconfirmed
GUEST, unregistred user!
做好了一个局域网传文件的程序,
测试小文件时(几百K的文件)一切如意,
在发送大文件时(几M到几百M的文件)也能成功
出现的问题是 在发大文件时 发送方 占用太CUP时间。约85%
以致整个系统失去响应,等到发送完成后,才恢复正常
各位高手,请给个方法,要源码的留下E-Mail
 
我没做过这方面的程序....
试试把文件在发送端分卷发送.....客户端组合......
估计在接受的最后合文件阶段会大量占用CPU.....

只是个建议 希望错误之处多多包涵
 
我也有同样的问题
 
flyingdae@163.com
 
i/o操作是很费机时的,如果程序一直循环操作,就会出现假死机。如果有防火墙更惨。
建议在每个循环中加如Application.ProcessMessages;
 
开线程了吧
 
最好的办法,先读文件,读入一个固定大小,比如16K,再分块发,发完了再读,中间
application.processmessage;
 
用线程试一试吧. 可以不出现假死机. 不过资源占用还是高
 
开线程!我做过文件服务器,CPU要经得起考验啦!
 
多线程,另外要看你传送文件的时候用什么方式,你如果用,分块是个不错的方法
 
多谢大家。但已经证实,多线程并不能完全解决问题
只能在一定程度上解决,当文件大到200M左右时,
问题依然!!
请大家,想想别的方法,不要在说用多线程了!
 
分小块传输
 
用FTP怎样
 
TO netpower:
这和文件大小没多大关系的,一次发送一小块,我发送过200M的文件,
CPU占用没那么高。
 
问题解决了,多谢大家,
使用多线程序加分块传送[:D]
 
后退
顶部