c++ - 如果服务器崩溃,命名管道会发生什么情况?

标签 c++ windows named-pipes

我对管道知之甚少,但在我的 Visual C++ 代码中使用管道连接了两个进程。管道运行良好,但我需要向其添加错误处理,因此想知道如果创建它的服务器崩溃时管道会发生什么情况,以及我如何从客户端进程中识别它?

此外,如果客户端进程尝试访问同一个管道,在服务器崩溃后,如果没有错误处理,会发生什么情况?

编辑: 如果我继续创建新管道(比如使用系统时间作为管道名称),而前一个管道因服务器崩溃而损坏,会对内存产生什么影响?这些破管道会不会从内存中移除?

最佳答案

IIRC ReadFile 或 WriteFile 函数将返回 FALSE 并且 GetLastError() 将返回 STATUS_PIPE_DISCONNECTED

我想这种处理在你的代码中实现了,如果没有你最好添加它;-)

关于c++ - 如果服务器崩溃,命名管道会发生什么情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3901146/

相关文章:

C++17 使用模板参数推导指南继承 lambda 集

c++ - move 和模板化构造函数,取错了

c++ - Visual Studio 编译警告 : Using system operator==/! = 对于 GUID

Windows命令行评估内部变量表达式

c# - 命名管道客户端 (C++) 与 C# 服务器

.net - WCF命名管道安全性和多个用户 session ?

python - 无法正确转换 OBJ 或 OpenGL 无法很好地绘制对象

c++ - 在模板推导时,是否可以检测是否可以运行 consteval 函数

android - Creative Ziio 和安卓开发,adb

c# - 进程间通信 - C# 和 C++。访问路径被拒绝