c# - 命名管道 : C# server, C++ 客户端

标签 c# c++ named-pipes

我写了两对命名管道客户端/服务器程序: C# (.NET 4) 中的第一对 C++ 中的第二对(非托管)

所有 4 个测试程序都使用相同的管道名称\\.\pipe\mypipe

C# 对彼此工作良好 - 我从客户端发送一条消息,服务器接收到它。 C++ 对也可以很好地相互配合。

但是...当我尝试使用 C++ 服务器运行 C# 客户端,或使用 C# 服务器运行 C++ 客户端时,它不起作用。客户端无法连接到服务器。

是否有什么东西阻止 C++ 客户端与 .NET 服务器一起工作? 它应该有效吗?

谢谢。

最佳答案

NamedPipeClientStreamNamedPipeServerStream 自动为名称添加前缀“\\.\pipe\”。

C++ 客户端代码:

hPipe = CreateFile("\\\\.\\pipe\\mypipe", ...)

对应的C#服务器代码:

var pipe = new NamedPipeServerStream("mypipe", ...)

关于c# - 命名管道 : C# server, C++ 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35430705/

相关文章:

c++ - Windows 服务与 NamedPipe 之间的访问安全

Python 命名管道行为

c# - NuGet:包含可作为库引用的源代码的包

c# - 如何使用 Outlook 互操作检索发件人 smtp 电子邮件地址?

c++ - 没有依赖于模板参数的参数

c++ - 如何在 C++ 中使用 Socket 发送一个目录?

c# - 停止所有计划任务

c# - 如何在 C# 中创建一个以方法作为参数且参数数量不确定的方法?

c++ - 在 C++ 中获取数据类型字节数的安全方法

c++ - WriteFile/ReadFile 死锁