VC中共享违例问题及解决方案

简介: socket 异步UDP实现文件传输过程中,当文件比较大需要分2次以上传输和接收时,在接收端会出现“在存取+路径+时发生共享违例”的情况。

问题出现的来源:

大背景:socket 异步UDP实现文件传输过程中,当文件比较大需要分2次以上传输和接收时,在接收端会出现“在存取+路径+时发生共享违例”的情况。

 

问题的症状:

如下图,在程序运行传输文件的过程中,会弹出以下的错误对话框。

image.png
     
问题的解决方案:

出现问题是很是迷茫,以前没有见过啊。通过google、baidu查的结果多是一方面文件共享是出现的问题,另一方面文件打开没有关闭的问题。

当然会给我一些提示,还是单步运行给了我明确的结果。单步运行发现,在UDP接收端接收文件内容的时候需要打开文件,但当分为多次(比如N)传输的时候,便重复调用打开文件多次(同样是N),这便产生了同样的错误。

于是,我把文件操作这小块内容重写。

以前的写法如下:
      
image.png


作者:铭毅天下
原文:https://blog.csdn.net/laoyang360/article/details/8680166

相关文章
|
6月前
|
开发框架 Java 编译器
【Qt 元对象系统 01 】深入探索Qt的元对象系统:核心地位、功能与构成
【Qt 元对象系统 01 】深入探索Qt的元对象系统:核心地位、功能与构成
200 1
|
编译器 vr&ar C语言
如何保护自己知识产权,建立代码护城河——建立自己的静态库,x86和arm平台的实例讲解
如何保护自己知识产权,建立代码护城河——建立自己的静态库,x86和arm平台的实例讲解
311 0
|
资源调度 前端开发 JavaScript
如何搭建一个内部组件共享平台
如今前端越来越趋于组件化的开发方式,最大的益处就是UI页面和逻辑的共用。 在开发者的眼里,如果你打开一个网站,组件化的开发方式会让你看起来像这个样子
784 0
如何搭建一个内部组件共享平台
|
Windows
将现有MFC应用程序迁移到BCGControlBar VC界面库中
1、安装BCGControlBar(安装完成后进行编译) 默认安装路径:C:\Program Files (x86)\BCGSoft\BCGControlBarPro 2、vs2010新建BCG项目(根据向...
1621 0
|
安全 编译器 C语言
下一篇
无影云桌面