2010-07-21 6 views
5

StreamWriter를 사용하여 명명 된 파이프를 통해 문자열을 보내려고하지만 StreamWriter 클래스는 동기 작업 만 제공합니다. NamedPipeServerStream 클래스의 BeginWrite 메서드를 사용할 수는 있지만 비동기 작업을 허용하는 작성기 클래스가없는 이유가 궁금합니다. 나는 명백한 것을 놓치고 있는가?StreamWriter와 비동기 적으로 명명 된 파이프 사용

+0

I http://stackoverflow.com/questions/3015748/how-to-do-a-non-waiting-write-on-a-named-pipe-c 질문은 매우 유사하지만 .NET Writer 클래스가 왜 그렇게 궁금한가요? 이 기능을 제공하지 마십시오. 나는 명백한 점을 놓치고 있습니까? – Lenik

답변

2

원시 스트림보다 훨씬 복잡합니다. 원시 스트림의 경우, 모든 양의 데이터가 비동기 적으로 들어오고 시스템이 버퍼를 사용자에게 전달합니다. 독자는 몇 바이트의 원시 데이터를 단일 유니 코드 문자로 변환 할 수있는 문자 인코딩이 필요합니다. 이것이 불가능할 것이 아니라, 프레임 워크 라이브러리는 그렇게 멀리하지 않으므로 직접이 작업을 수행해야합니다.

(필요에 따라 다른 쓰레드를 생성하고 쉽게 프로그램을 작성 할 수있는 동기 그것에 작업을 수행. 당신은/종료 비동기 시작 사용할 때 일반적으로 더 높을 것이라고 확장 성을 참고.)

관련 문제