2010-11-30 2 views
3

네임드 파이프 (한 서버와 한 클라이언트)를 통해 두 프로세스를 성공적으로 연결 한 상황을 갑자기 (어떤 이유로) 서버 프로세스가 끝나는 상황을 처리하는 방법을 알고 싶습니다.서버가 다운되었을 때 NamedPipe 보내기

파이프는 어떻게됩니까? 끝나나요? 클라이언트가 서버로 보내는 정보는 어떻게됩니까? 길을 잃었나요? 서버가 다운 되어도 클라이언트가 어떻게 알 수 있습니까? 파이프가 고장 나 연결이 끊어진 경우

모든 베스트,

+0

정말 걱정이된다면 Message Queue에서 WCF를 사용해야합니다. –

답변

1

당신은 예를 들어 System.IO.PipesNamedPipeServerStream를 사용하는 경우, 당신은 IOException가 얻을 것입니다.

당신이 서버로부터 정보를 읽어 NamedPipeClientStream를 사용하는

, 나는 연결이 당신이 일정 시간 동안 연결 시간 초과 할 NamedPipeClientStream.Connect(Int32) 옵션을 사용할 수 NamedPipeClientStream.Connect() 통화 대체에 설립 될 때까지 클라이언트가 기다릴 것입니다 생각합니다. 그 외에는 StreamReader.ReadLine()도 잘 돌아 가지 않으면 IOException을 던질 수 있습니다.

NamedPipeClientStream.IsConnected은 클라이언트가 서버에 성공적으로 연결되었는지 또는 연결이 끊어 지거나 닫히거나 깨 졌는지 확인하는 간단한 방법입니다.

관련 문제