命名管道:C#服务器,C ++客户端

时间:2016-02-16 10:59:27

标签: c# c++ named-pipes

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

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

C#对彼此工作正常 - 我从客户端发送消息并由服务器接收。 C ++对也可以很好地相互配合。

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

是否存在阻止C ++客户端使用.NET服务器的问题? 它应该有用吗?

谢谢。

1 个答案:

答案 0 :(得分:6)

自动将

NamedPipeClientStreamNamedPipeServerStream前缀“\\。\ pipe \”添加到名称中。

C ++客户端代码:

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

相应的C#服务器代码:

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