CreateNamedPipe에서 PipeMode 인수의 의미가 궁금합니다.
글쓴이: eagle76fish / 작성시간: 일, 2024/04/14 - 8:52오후
Win32 API의 CreateNamedPipe 함수 세 번째 인수 dwPipeMode에 PIPE_TYPE_BYTE와 PIPE_TYPE_MESSAGE라는 플래그를 전달할 수 있습니다. PIPE_TYPE_BYTE는 시스템이 다른 쓰기 처리 동안 쓰인 바이트를 구별하지 않는다고 하여, 같은 이름의 파이프 인스턴스들로 쓰기 처리가 이루어질 때, 인스턴스를 구별하지 않고 쓰인 바이트가 서로 뒤섞이는 것으로 이해했는데, 그렇지 않고 인스턴스별로 쓰인 내용이 전달됩니다. 또 PIPE_TYPE_MESSAGE는 message unit으로 전달된다고 해서, 검색해봤더니, message unit를 구조체 단위라고 언급하더군요. 그래서 이를 구조체 단위가 잘림 없이 전달된는 것으로 이해를 했습니다. 그런데 구조체가 잘리면서 전달되는 경우가 생깁니다. PIPE_TYPE_BYTE를 바이트 스트림이라고 하고, PIPE_TYPE_MESSAGE를 message unit라고 하던데, 이 둘(PIPE_TYPE_BYTE과 PIPE_TYPE_MESSAGE)의 차이가 무엇인가요?
MSDN의 내용은 이미 누차 살펴봤지만, 설명이 제게는 이해되지 않습니다. msdn에 언급되지 않은 설명으로 언급해주셨으면 합니다.
Forums:
댓글 달기