C ++网络IO,文件处理和网络故障

我想在网络中的另一台计算机上创建一个新文件并将其写入。 我使用CreateFileWriteFile MSDN函数来创建和写入文件。

这里的问题是网络故障期间对网络磁盘的写入不一致

在长时间失败并启用了本地缓存的情况下,句柄变为无效,并返回错误代码ERROR_BAD_NETPATH(53)。因此,关闭现有的句柄并重新打开新的句柄会导致缓存中的数据丢失。

此处无法使用通过使用FILE_flaG_NO_BUFFERINGFILE_flaG_WRITE_THROUGH标志来禁用本地缓存,因为这会减慢写入速度

执行网络文件写入的最佳方法是什么?还是这种网络故障一次就消失了,这一定是一个限制?

bjh20091201 回答:C ++网络IO,文件处理和网络故障

按照Marcelino的建议进行,即首先在本地写入文件。然后使用system()运行适合您的平台的复制实用程序(例如:xcopy或scp)作为外部进程。此可靠复制功能不应尝试复制。只需使用它。 :)

本文链接:https://www.f2er.com/3049198.html

大家都在问