Связь через COM-порт с Virtual PC - PullRequest
1 голос
/ 05 февраля 2011

Я тестирую приложение, использующее COM-порт.Приложение работает в Virtual PC.Я настроил параметры Virtual PC для использования именованного канала \. \ Pipe \ mypipe для COM1-порта.

Теперь я пытаюсь установить связь с этим именованным каналом с помощью C #.

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

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

Программа ожидает в WaitForConnection (), хотя Virtual PC работает, и я пытаюсь связаться с COM-портом.

Я также попробовал следующее, потому что я не уверен, нужно ли мне создаватьименованный канал в моей программе или именованный канал создан Virtual PC.

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

p.Connect();

Что я здесь не так делаю?

1 Ответ

2 голосов
/ 05 февраля 2011

Когда вы настраиваете Virtual PC для использования именованного канала в качестве COM-порта, тогда он действует как сервер (если бы он был клиентом, VPC должен был бы постоянно опрашивать новый сервер, если, например, ваш сервер вышел из строя).

Ваш второй подход почти на высоте, за исключением того, что вы должны использовать «mypipe» в качестве названия трубы, а не «pipe \ mypipe».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...