그래서 지금 C#을 사용하고 있습니다. 필자가 작성한 첫 번째 응용 프로그램은 간단한 콘솔 기반 IRC 클라이언트입니다. 그러나 생각보다 어렵습니다. 두 스트림에서 읽으므로 콘솔 & irc-server 비 차단 입출력이 필요합니다. 나는 다음과 같은 코드를 가지고있어 순간네트워킹 블로킹 비 블로킹, 스레드 만 옵션으로 사용 하시겠습니까?
그러나
while (((sInput = sr.ReadLine()) != null) || ((uuInput = Console.ReadLine()) != null))
{
// stuff
}
, 이것은 항상 Sinput의 실행 것, .ReadLine()는 마지막에 True를 반환 그래서 결국 차단하고, 그래서 때문에 두 번째 블록 OR의 내용은 결코 실행되지 않을 것입니다.
이 해결책은 무엇입니까? 스레드로 직접 구현 하시겠습니까? 표준 C# 라이브러리에서 NIO 라이브러리를 찾을 수없는 것 같습니다. 이 프로그램을 지나치게 복잡하게 만들고 싶지 않기 때문에 작고 깨끗한 솔루션을 선호합니다.
도움이 될 것입니다. 감사.
그냥 FYI : 찾고 싶은 것은 비동기 호출로 IO를 처리하는 것입니다. 당신은 non-blocking 소켓을 원하지 않는다. –