gpt4 book ai didi

c# - 在 C# 中监视命名管道

转载 作者:太空狗 更新时间:2023-10-29 23:40:15 28 4
gpt4 key购买 nike

如何监控命名管道? FileSystemWatcher 无法监视 \\\\.\pipes。是否有类似于 FSW 的东西可以用于命名管道?目前我轮询任何新的命名管道创建,但这似乎有点无效。

我想监视我感兴趣的管道的创建。当管道已经创建时,命名管道列表很好。我将弹出我的程序的几个实例,每次弹出时,我都希望能够使用命名管道自动连接它而无需轮询。似乎没有这样的机制可用。

最佳答案

您不能监视命名管道本身,但您可以等待其他事情。我的解决方案是创建一个事件然后等待它。当服务器程序创建它的管道时,它也会发出事件信号。当客户端收到信号时,关闭事件并打开管道。

当您收到管道已关闭的指示并且您需要再次观察它时,重新打开事件并等待。

如果您有多个管道,您可能希望每个管道都有一个单独的事件 (EventForPipe-*pipename*),或者您可能希望有一个事件用于所有管道和当事件发出信号时,只需检查每个管道。

这适用于本地管道,但不适用于远程管道,因为无法发出信号或等待远程事件。如果您必须在另一台计算机上监视管道,则拥有管道的计算机也可以有一个共享目录,可用于发送信号。由于可以监视共享目录的文件更改,因此您可以在创建管道时创建一个文件。请注意,您仍然需要定期(可能每分钟一次)轮询以使此策略起作用,因为远程服务器可能无法处理所有远程文件通知请求。

关于c# - 在 C# 中监视命名管道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12899207/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com