大量文件网络传输的问题
底层用的IOCP,做的传输大量文件,比如一个机器上的所有后缀名为.log的文件,由于是按照目录顺序依次传输,有的log文件,可能正在被机器上的有些程序写着呢,这就卡住了,现在可以选择丢弃传下一个,怎么办,叫client先断一下线?
[解决办法]
期待。。。。。。。。这个问题
[解决办法]
设定文件的共享属性,让多个进程可以同步操作文件。
经常遇到的事情:
进程A长期打开一个文件不停的进行写入操作,进程B想实时看到文件内容。
这里就存在访问冲突,解决方法就是创建文件时,配置其共享属性。
m_File.Open( PN, CFile::modeCreate
[解决办法]
CFile::modeNoTruncate
[解决办法]
CFile::modeWrite
[解决办法]
CFile::shareDenyWrite )
[解决办法]
可以用一个列表来保存还没传输的文件信息,然后到一定时间后再重传一下
[解决办法]
按照文件名排序(log文件应该都包含时间的),这样就能以固定的顺序从旧到新上传,你只需要维护每个下上传到哪个文件了就行了,不用把每一个没传的都记下来,这样也不会把传过的再传一次。