waitcomment与管道兼容
WaitCommEvent compatible with pipes?
本文关键字:管道 waitcomment 更新时间:2023-10-16
我正在使用旧的c++/MFC/Win32代码。该项目通过单独的物理串行端口(每个客户端系统一个)将各种串行协议多路复用到一个公共前端数据存储库。
由于程序最初被设计为通过串行端口进行通信,因此在代码中有许多假设,就串行事件的设置和管理而言:ACK/NAK传输验证,内部字节延迟检查等…
现有的体系结构通过WaitCommEvent的事件通知来利用重叠的读写。
我的任务是添加另一个客户端接口,使用单个客户端管道服务器;像串行端口一样,每个"文件"将支持一个客户端。
在阅读WaitCommEvent的文档时,它看起来像是设计用于操作系统抽象的物理通信设备;如串口。
简单的问题是,我是否可以利用现有的串行倾斜"等待"模型来处理管道,或者我是否应该继续虚拟化它,以便可以用特定的管道逻辑覆盖它?
感谢那些(当然是少数)知道我在问什么的开发者。
我现在找不到一个很好的参考,但我的理解是WaitCommEvent只适用于通信资源,管道没有被定义为通信资源,例如串口。WaitCommEvent等待底层驱动程序设置某些位标志,比如当新字符到达时,我不相信管道(或文件)内部是这样工作的。
相关文章:
- 在进程中对同一管道进行读取和写入时C++管道出现问题
- IPC使用多个管道和分支进程来运行Python程序
- 如何创建函数管道,以便函数一个接一个地运行?
- Gstreamer 管道从命令 lne 到 c 代码
- 外壳包装器句柄/执行交互式命令管道C++ UNIX
- 将旧管道转换为现代 openGL 时出现问题
- 如何使用管道在父级和子级之间来回传递文件
- 在没有管理员权限的情况下连接到同一网络中的命名管道
- 如何测量管道延迟?
- 我如何使用此程序管道多个命令?C++
- 先进先出:一个进程永远不会从管道读取
- Node.js fs.open() 在尝试打开 4 个以上的命名管道 (FIFO) 后挂起
- 使用模板而不是虚拟方法的管道模式
- 我可以写入关闭的套接字并强制纠正损坏的管道错误吗?
- 在 Azure DevOps 构建管道中使用英特尔C++编译器为 Linux 环境构建C++代码
- Opencv GStreamer管道在Raspberry Pi 4上不起作用
- 阻塞管道连接命名管道不触发
- GLib-ERROR:为GWakeup创建管道:打开的文件太多
- 向 vulkan 管道添加额外的 UBO 会停止所有几何体渲染
- waitcomment与管道兼容