다음과 같은 문제가 있습니다.부스트 async_read_some/async_receive는 MSG_PEEK가 항상 켜져있는 것처럼 동작합니다.
tcp 소켓에서 async_receive를 시작합니다.
일부 데이터에서 콜백이 호출되었습니다.
소켓에서 다른 비동기 수신을 시작합니다.
콜백이 호출되었지만 버퍼에는 이전 호출의 데이터도 포함됩니다. MSG_PEEK 플래그로 recv를 호출하는 것처럼 동작하지만, 그런 일은하지 않았습니다.
나는 메시지 플래그가 argument = 0이고 버전이 동일한 효과를 가진 버전을 호출하려고했습니다.
이 동작을 어떻게 비활성화 할 수 있습니까? 각 성공적인 비동기 처리기 호출 후 커널 버퍼에서 데이터를 먹는 첫 번째 호출 싶습니다.
미하이
코드없이 대답 할 수 없다면, 우리는 async_read에 넘기는 버퍼를 어떻게 처리해야 하는지를 알아야합니다. –