关于高效的文件传输方式 大家认为高效的网络文件传输方式是什么,个人感觉:是不是用文件映射方式实现。是否还有更好的方式? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果是传输,对于访问文件的速度就不需要要求太高了,只要访问文件的方式不要效率太低,所需时间是远小于传输时间的。一般情况,每次从文件中读取1MB以上的数据,效率就不算低了。对于文件映射,其主要作用是略过常规读写文件的中间环节,省去各级函数调用的执行时间,当程序对文件频繁进行读写时,可以提高效率。对于顺序读写文件,只要每次读写的数据量不要太少,中间过程所花的时间是可以忽略不计的。此外,文件映射还可以减少数据从磁盘缓冲到程序缓冲的复制过程,不过与磁盘I/O相比,内存复制所需的时间也是忽略不计的。 在操作多个socket中,直接找到目标socket,比如1个服务器有10000个连接,如果每次接收都在sockList遍历寻找对应sock会降低效率。多线程操作多个sokcet操作,确保在某个线程处于等待信号状态(如果有的话),另一个线程可以正常工作。多线程操作多个sokcet操作,如果有多个CPU,合理分配,可以真正做到线程同时运行普通模式下,操作过程是先接收数据到sokcet的缓冲区,再从缓冲区COPY到你的Buf,使用重叠IO,可以接收数据直接到你的buf,省50%的数据复制时间.以上抄书 IOCP的优势 用TransmitFile函数发送文件吧,异步的方式处理网络发送,并且读文件的操作交给操作系统,完全避免了调用ReadFile函数的用户态/内核态的来回切换。用p2p本质上还是要读文件发送数据,只不过是多条链路上并发,也受到网络带宽的限制。 实际上点对点传,异步处理的话100M网卡基本满负载传送数据是可以的。 能获得声卡、显卡信息的API有哪些? chtmlview导航后提示未登录 现在可以编个俄罗斯方块了,能找工作吗? 如何取得一个Process下面的资源句柄? 推荐几本网络编程的书 请问在sdi中如何嵌套(不是弹出)一个CFiledialog类 完成端口怎么不定时发送数据给每一个客户端? 如何使用depends看可执行文件都链接了哪些DLL 对一个数据库进行查询,select语句写在哪里? 怎么在Access数据库中查到指定时间的记录呢?又有劳各位了! 如何实现基于对话框的工具栏命令响应? 内存错误的不同报错方式
一般情况,每次从文件中读取1MB以上的数据,效率就不算低了。
对于文件映射,其主要作用是略过常规读写文件的中间环节,省去各级函数调用的执行时间,当程序对文件频繁进行读写时,可以提高效率。对于顺序读写文件,只要每次读写的数据量不要太少,中间过程所花的时间是可以忽略不计的。此外,文件映射还可以减少数据从磁盘缓冲到程序缓冲的复制过程,不过与磁盘I/O相比,内存复制所需的时间也是忽略不计的。