为什么小弟我在应用python 命名管道道的时候会CreateFile会失败

前面文章说了一下 Linux python 命名管道道的實现今天看看 Windows 上我们怎么实现。

在 Windows 上的python 命名管道道主要是通过调用 win32 api 的以下方法来实现的:

下面看一个例子比较简单,只是需要注意一下python 命名管道道的命名规则

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现断路器,智...

  • 管道是一種简单的FIFO通信信道它是单向通信的。 通常启动进程创建一个管道然后这个进程创建一个或者多个子进程接...

  • 姓名:莫益彰 学号: 【嵌牛導读】:串口通信是指外设和计算机间,通过数据信号线 、地线、控制...

为了连接到现有的python 命名管道道您可以使用CreateFile通过pywin32包提供的API 。由于我花了一段时间将一个工作基地放在一起这是一个示例客户端/服务器它适用于我(python 3.6.5,Windows 10 Pro x64上的pywin32 223):

显然你需偠对各种调用进行一些错误检查但这应该有效。

附加说明:当客户端尝试对其执行I / O时我的一位同事遇到了管道关闭的问题(声称“所囿管道实例都很忙”的例外情况)。我发现他os.path.exists在客户端代码中使用它来测试python 命名管道道在运行之前是否已经存在CreateFile这不知何故打破了管道。因此使用上面的方法(CreateFile包含在try-except中)是尝试连接到管道的安全方法,直到它由服务器端创建

我要回帖

更多关于 c 命名管道 的文章

 

随机推荐