2011-02-05 23 views
1

私はCOMポートを使用するアプリケーションをテストしています。アプリケーションはVirtual PCで動作しています。私は、COM1ポートのために名前付きパイプ\。\ pipe \ mypipeを使用するようにVirtual PC設定をセットアップしました。仮想PCとのCOMポート通信

今、私はこの名前付きパイプとC#で通信しようとしています。

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

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

Virtual PCが動作していてもCOM-Portと通信しようとしていますが、プログラムはWaitForConnection()で待機しています。

また、プログラムで名前付きパイプを作成する必要があるのか​​、名前付きパイプをVirtual PCで作成するのかわからないため、次のことも試しました。

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

p.Connect(); 

私はここで間違っていますか?

答えて

2

名前付きパイプをCOMポートとして使用するようにVirtual PCを設定すると、サーバーとして動作します(クライアントであれば、サーバーがクラッシュした場合などにVPCが新しいサーバーを継続的にポーリングする必要があります)。

"pipe \ mypipe"ではなく "mypipe"をパイプの名前として使用する点を除いて、2番目の方法はほとんど目印です。

+0

ありがとうございました!それがそれでした。コミュニケーションはまだ動作していません。多分あなたはここの答えを知っているでしょうか? http://stackoverflow.com/questions/4907079/com-port-communication-with-virtual-pc-part-2 – PetPaulsen

関連する問題