윈도우 named pipe 예제 | みさき ブログ 
 윈도우 named pipe 예제 
 CreateNamedPipe ( ) 의 nOutBufferSize 및 nInBufferSize 매개 변수 는 내부 입력 및 출력 버퍼 크기 에 대해 예약 할 바이트 수 를 나타냅니다 . 이러 한 크기 는 명명 된 파이프 인 스턴스 가 생성 될 때 마다 시스템 이 비 페이징 풀 ( 운영 체제 에서 사용 하 는 실제 메모리 ) 을 사용 하 여 인 바운드 및 / 또는 아웃 바운드 버퍼 를 설정 한다는 점 에서 권고 사항 입니다 . 지정 된 버퍼 크기 는 시스템 이 페이징 되 지 않 은 풀 메모리 가 부족 하 지 않 도록 합리 적 이 어야 하 지만 일반 적 인 I / O 요청 을 수용 할 수 있 을 만큼 충분히 커야 합니다 . 응용 프로그램 이 지정 된 버퍼 크기 보다 큰 데이터 를 작성 하 려고 하 면 시스템 은 페이징 되 지 않 은 풀 메모리 를 사용 하 여 데이터 를 수용 하 도록 버퍼 를 자동 으로 확장 하 려고 시도 합니다 . 실용 적 인 목적 을 위해 응용 프로그램 은 ReadFile ( ) 및 WriteFile ( ) 를 호출 할 때 사용 되 는 응용 프로그램 의 송수신 버퍼 크기 와 일치 하 도록 이러 한 내부 버퍼 의 크기 를 조정 해야 합니다 . CreateFile ( . ) 을 호출 하 여 명명 된 파이프 를 만들 수 없 습니다 . 나 는 리눅스 에서 FIFO 와 같 은 C ++ ( 윈도우 ) 에서 2 프로세스 사이 의 간단 한 comunication 을 만들 려고 노력 하 고 있 습니다 . 이것 은 내 서버 입니다 : 당신 이 라는 파이프 서버 라는 네트워크 를 통해 클라이언트 파이프 를 설정 하 는 것 을 나타냅니다 . 이 경우 이중 백 슬래시 ( ) 를 포함 해야 합니다 . 파이프 이름 인수 는 클라이언트 파이프 의 이름 을 지정 합니다 . 서버 이름 인수 는 명명 된 파이프 서버 의 이름 을 지정 합니다 . 명명 된 파이프 를 사용 하 여 동일 한 컴퓨터 의 프로세스 간 또는 네트워크 를 통해 다른 컴퓨터 의 프로세스 간 에 통신 을 제공 할 수 있 습니다 . 
 서버 서비스 가 실행 중 인 경우 명명 된 모든 파이프 에 원격 으로 액세스 할 수 있 습니다 . 명명 된 파이프 를 로컬 로 만 사용 하 려는 경우 NT AUTHORITYNETWORK 에 대한 액세스 를 거부 하 거나 로컬 RPC 로 전환 합니다 . 명명 된 파이프 는 파이프 서버 와 하나 이상 의 파이프 클라이언트 간 의 통신 을 위해 명명 된 단 방향 또는 이중 파이프 입니다 . 명명 된 파이프 의 모든 인 스턴스 는 동일 한 파이프 이름 을 공유 하 지만 각 인 스턴스 에 는 고유 한 버퍼 및 핸들 이 있 으며 클라이언트 / 서버 통신 을 위한 별도 의 도관 을 제공 합니다 . 인 스턴스 를 사용 하 면 여러 파이프 클라이언트 가 동일 한 명명 된 파이프 를 동시 에 사용 할 수 있 습니다 . 다음 예제 에서 는 두 개 의 SAS 세션 사이 에 WOMEN 이 라는 명명 된 파이프 가 설정 됩니다 . 서버 SAS 세션 은 클라이언트 SAS 세션 에 데이터 를 선택 적 으로 보냅니다 . 먼저 서버 또는 클라이언트 를 시작 할 수 있 습니다 . 하나 는 다른 연결 에 대 한 30 초 기다립니다 . 
 다음 프로그램 은 단일 클라이언트 및 서버 의 또 다른 예 입니다 . 이 예제 에서 는 PRINTTO 프로시저 를 사용 하 여 SUMMARY 프로시저 의 결과 를 다른 Windows 응용 프로그램 으로 지시 하 고 RESULTS : 첫 번 째 SAS 세션 에서 명명 된 파이프 를 서버 로 만듭니다 . 일반 적 으로 사용 되 는 헤더 파일 에 있 는 # define 의해 “ \\\ Pipe ” ) 은 파이프 의 유형 을 나타냅니다 . 바이트 가 기본 값 입니다 . 바이트 파이프 와 MESSAGE 파이프 의 차이점 은 MESSAGE 파이프 에 인코딩 된 레코드 길이 가 포함 되 지만 바이트 파이프 는 포함 되 지 않 는다는 점 입니다 . EOFCONNECT 옵션 을 사용 하 여 연결 이 한 클라이언트 에서 다음 클라이언트 로 제대로 이동 하 도록 해야 합니다 . 다음 은 하나 의 서버 SAS 세션 과 두 개 의 클라이언트 에서 EOFCONNECT 옵션 을 사용 하 는 예 입니다 . 클라이언트 는 동일 한 PC 또는 네트워크 를 통해 연결 된 PC 에 있 을 수 있 습니다 . 응용 프로그램 은 SAS 세션 또는 다른 Windows 응용 프로그램 일 수 있 습니다 . 
 ← 한글 글 자체 다운로드 
 자바 exception 예제 →