클라이언트없이 파이프에 쓰기 위해 명명 된 파이프 서버를 만들려고합니다. 내가 뭘하려고C++을 사용하는 명명 된 파이프
1) 반드시 CreateNamedPipe
2) 클라이언트가 파이프는 서버에 의해 기록됩니다 나중에 파이프를 읽을 수 있습니다) 지금
3 연결하려는 해달라고입니다.
이렇게 할 수 있습니까?
이 문제에 관해 도움이 필요하면 도와주세요.
클라이언트없이 파이프에 쓰기 위해 명명 된 파이프 서버를 만들려고합니다. 내가 뭘하려고C++을 사용하는 명명 된 파이프
1) 반드시 CreateNamedPipe
2) 클라이언트가 파이프는 서버에 의해 기록됩니다 나중에 파이프를 읽을 수 있습니다) 지금
3 연결하려는 해달라고입니다.
이렇게 할 수 있습니까?
이 문제에 관해 도움이 필요하면 도와주세요.
ConnectNamedPipe
을 사용하여 주어진 명명 된 파이프에서 대기 할 별도의 스레드가 있어야합니다. 클라이언트가 연결되면 ConnectNamedPipe가 반환됩니다. 새로 연결된 파이프를 사용하여 통신하십시오 (이 새 연결에 대해 새 스레드를 생성하는 경우). 그런 다음 다른 파이프 연결을 위해 ConnectNamedPipe
으로 다시 돌아옵니다.
하지만 그럴 것입니다. 클라이언트가 연결될 때까지 기다려야합니다. – kunal
왜 그런가요? 클라이언트가 연결될 때까지 어떤 종류의 버퍼에 쓰기 만하면됩니다 (예 : 문자열이 있으면'std :: stringstream'). 일단 클라이언트가 연결되면 버퍼의 현재 내용을 파이프에 쓰고 파이프에 직접 메시지를 작성하십시오 . – smerlin
@smerlin 클라이언트가 연결하지 않으면 파일에 쓸 수 있지만 그 파이프를 만들 수 있으며 파이프에 연결하는 클라이언트없이 해당 파이프에 쓸 수 있음을 알고 싶습니다. – kunal
필자는 최근에 명명 된 파이프를 사용했고 파이프의 양쪽 끝이 연결되어 있지 않으면 파이프를 읽기/쓰기 용으로 사용할 수 없다고 생각합니다. – smerlin
질문하기 전에 확실히 몇 가지 방법으로 시도해 보셨습니까? 그래서 당신이 시도한 것과 실패한 것을 말할 수 있습니까? –
파이프 서버와 파이프 클라이언트를 만들었습니다. 파이프를 생성 한 후 클라이언트가 파이프에 연결되면 서버가 파이프에 연결되고 클라이언트가 파이프를 읽는 것을 기다려야합니다. – kunal