COM端口与Virtual PC通信

时间:2011-02-05 12:19:16

标签: c# named-pipes virtual-pc

我正在测试使用COM-Port的应用程序。该应用程序在Virtual PC中运行。我已经设置了Virtual PC设置,以便为COM1-Port使用命名管道\。\ pipe \ mypipe。

现在我正在尝试使用C#与此命名管道进行通信。

using (var pipe = new NamedPipeServerStream(@"\\.\pipe\mypipe"))
{
    pipe.WaitForConnection();

    using (var reader = new StreamReader(pipe))
    {
       // Do some communication here
    }
}

程序在WaitForConnection()等待,尽管Virtual PC正在运行,我正在尝试与COM-Port通信。

我也尝试过以下操作,因为我不确定是否必须在程序中创建命名管道,或者命名管道是由Virtual PC创建的。

var p = new NamedPipeClientStream(@"pipe\mypipe");

p.Connect();

我在这里做错了什么?

1 个答案:

答案 0 :(得分:2)

当您将Virtual PC设置为使用命名管道作为COM端口时,它将充当服务器(如果它是客户端,那么VPC将不得不连续轮询新服务器,例如,如果您的服务器崩溃)。 / p>

你的第二种方法几乎就是标记,除了你应该使用“mypipe”作为管道名称而不是“pipe \ mypipe”。