VC++와 C# 둘 다 사용하는 프로젝트를하고 있습니다. VC++은 하드웨어 인터페이스 용입니다 (다른 곳에서는 VC++ 만 사용해야합니다). 응용 프로그램 측면에서는 C# (마이크로 소프트 비주얼 스튜디오 2008)을 사용하고 있습니다.VC++ 6.0과 C# Visual Studio 2008 사이의 명명 된 파이프
두 프로그램이 서로 통신하기 위해 나는 명명 된 파이프를 사용하고 있습니다 (이것도 필요합니다).
C#과 VC++ 사이에서 통신 할 수 있지만 VC++에서 C#으로는 통신 할 수 없습니다.
나는 아래 코드를 C#에서 사용하고 있습니다.
using (NamedPipeServerStream pipeStream = new NamedPipeServerStream("mytestpipe"))
{
pipeStream.WaitForConnection();
Console.WriteLine("[Server] Pipe connection established");
using (StreamReader sr = new StreamReader(pipeStream))
{
while ((temp = sr.ReadLine()) != null)
{
MessageBox.Show(temp));
}
}
}
여기서 문제는 sr.ReadLine()
입니다. 전혀 종료되지 않습니다. 일단 null을 발견하면 중지해야하지만 C++에서 VC++에 의해 제공된 null 값은 NULL로 간주되지 않습니다.
이제 어떻게해야합니까?