8 Star 67 Fork 14

Quard / quardCRT

 / 详情

能否考虑支持Windows的pipe命名管道

已完成
创建于  
2023-10-26 06:00

如题所述。连接虚拟机的虚拟串口的时候这个功能很有用。
感谢你的努力和贡献

评论 (4)

fan_zz 创建了任务
fan_zz 修改了标题
fan_zz 修改了描述
展开全部操作日志

感谢您的建议,我很乐意支持更多连接类型,但对于windows pipe我还不够了解,我需要抽空查阅一下相关资料。

是否有更多现有资料信息可以给我参考呢?

不好意思我只是用过,具体的也不很了解。
大概上是一对一的连接,分别为服务端和客户端。文件名是形如‘\.\pipe\com1’这样的字串。
虚拟机的串口一般都支持这个,比如Vmware。终端支持的就很少了,putty支持这个

好的,我已经查阅调研了一下相关资料,实现这个功能看起来并不复杂。

VMware doc给出了相关的输出命名管道的说明

另外我在这里找到了一个古老的代码仓库展示了Qt客户端与windows标准api实现的命名管道服务端的示例,看起来也不算复杂,我可能需要重新移植到最新的Qt框架。

唯一阻碍的我的是我通常使用mac和linux编程,使用window环境的机会不多,因此关于它的开发和测试可能需要一些时间来完成,另外VMware是专有软件我无法购买他,因此我还需要查找其他的测试用例环境。

但是总之,我会开始这项工作。

Quard 任务状态待办的 修改为进行中
Quard 添加了
 
feature
标签
Quard 任务状态进行中 修改为已完成

Hi,一个很好的消息,截止提交,我顺利完成对Windows的命名管道的支持工作。并且进行了一定的测试。正如前文所说,我无法使用VMware进行测试,但运气很好,我发现我所熟悉的开源软件qemu也是支持Windows的命名管道输出串口终端模拟的,因此,我构建了一个用例,其中qemu指定如下启动参数:

-chardev pipe,server=on,wait=off,path=\\.\pipe\qemu_pipe,id=char0 --serial chardev:char0

此时由qemu仿真器的客户机器串口0将输出到主机的 \.\pipe\pipe\qemu_pipe (qemu自身的机制会增加一个pipe路径)位置,此时通过quardCRT创建使用namePipe方式启动终端标签页,可以顺利与客户机建立连接,各项终端功能均正常,测试用例完毕。

我想信这个特性已经可以普遍使用,我会在下个版本发布集成该特性。感谢您的建议,使项目越来越完善,祝好!

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(2)
1319228 qqxiaoming 1578948838
C++
1
https://gitee.com/QQxiaoming/quardCRT.git
git@gitee.com:QQxiaoming/quardCRT.git
QQxiaoming
quardCRT
quardCRT

搜索帮助