2011-02-05 3 views
1

COM 포트를 사용하는 응용 프로그램을 테스트하고 있습니다. 응용 프로그램이 가상 PC에서 실행 중입니다. COM1 포트에 대해 명명 된 파이프 \. \ pipe \ mypipe를 사용하도록 가상 PC 설정을 설정했습니다.가상 PC와의 COM 포트 통신

이제 C#을 사용하여이 명명 된 파이프와 통신하려고합니다.

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

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

가상 PC가 실행 중이지만 COM 포트와 통신하려고하지만 프로그램이 WaitForConnection()에서 대기 중입니다.

또한 내 프로그램에서 명명 된 파이프를 만들거나 가상 PC에서 명명 된 파이프를 만들어야하는지 잘 모르기 때문에 다음을 시도했습니다.

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

p.Connect(); 

여기서 내가 뭘 잘못하고 있니?

답변

2

명명 된 파이프를 COM 포트로 사용하도록 설정하면 가상 서버가 서버 역할을합니다 (클라이언트 인 경우 VPC는 ​​예를 들어 서버가 손상된 경우 새 서버를 계속 폴링해야합니다).

"pipe \ mypipe"가 아닌 파이프 이름으로 "mypipe"를 사용해야한다는 점을 제외하면 두 번째 방법은 거의 마크입니다.

+0

고마워요! 그랬어. 통신은 여전히 ​​작동하지 않습니다. 어쩌면 그 답을 알고 있겠지? http://stackoverflow.com/questions/4907079/com-port-communication-with-virtual-pc-part-2 – PetPaulsen