주어진 패킷/초 간격으로 패킷을 생성하는 소스의 패킷을 시뮬레이트하고 있습니다. ostream
객체처럼 작동하는 스트림 클래스를 만들고 싶습니다. 따라서 operator<<
을 사용하여 출력 할 수 있지만 각 값을 버퍼에서 파일 설명자로 순서대로 지정된 위치에 놓아야합니다. 간격.일정한 간격으로 플러시되는 버퍼링 된 스트림을 구현하는 표준 방법은 무엇입니까?
그래서, 예를 들어, 나는 파일 기술자 sockfd
와 소켓을 가지고 말할 수 있습니다
MyBuffer buffer(sockfd, 1000); //Interval of 1000 milliseconds
buffer << 1 << 2 << 3;
출력은 소켓에 출력
1
<1 second gap>
2
<1 second gap>
3
것 같은 시간이 초과 될 것이다. 나는 부스트를보고있다. 지금은 유령이 좋은 해결책일까요? 내가 인식 할 수없는이 문제를 설명 할 수있는 마법의 문구가 있습니까?
도움을 주시면 감사하겠습니다.
감사 매 초마다 스레드에 의해 폴링있어 문자열의 큐를 유지하는 것입니다 사용자 정의 스트림 클래스를 구축 완전히 직교의이이 작업을 수행하는 브래드
한 번에 * 문자 * 한 번에 하나씩 스트림에 삽입 된 * 객체를 해제 하시겠습니까? – templatetypedef
패킷이 출력되는 동안 삽입이 동시에 발생합니까? 그렇다면 스트림이 1 초 이상 비워지고 다시 비어 있지 않으면 어떻게됩니까? 다음 패킷이 즉시 또는 다음 1 초 간격으로 전송됩니까? –
@templatetypedef 그것은 오브젝트 –