3
얼마나 많은 데이터가 버퍼링되었지만 읽지 않은지 확인하는 간단한 함수가 있습니까? FD_ISSET은 버퍼에 데이터가 있음을 나타냅니다. 버퍼를보다 잘 제어하기 위해 프로그램에 두 번째 버퍼를 생성하지 않을 수 있습니까?Linux 소켓 버퍼링 된 데이터 크기
얼마나 많은 데이터가 버퍼링되었지만 읽지 않은지 확인하는 간단한 함수가 있습니까? FD_ISSET은 버퍼에 데이터가 있음을 나타냅니다. 버퍼를보다 잘 제어하기 위해 프로그램에 두 번째 버퍼를 생성하지 않을 수 있습니까?Linux 소켓 버퍼링 된 데이터 크기
당신은 MSG_PEEK
와 MSG_DONTWAIT
플래그 recv()
를 사용할 수 있지만이 경우 반환 recv()
보다 더 바이트를 사용할 수 없을 것을 확고한 보장이 없습니다.
프로그램에서 버퍼를 사용하는 것이 문제를 해결하는 정상적인 방법입니다.
많은 도움이됩니다. peek은 데이터를 한 번 더 이동하지만 시스템 버퍼 사용량을 빠르게 테스트 할 수 있습니다. 나는 시스템 버퍼에서 프로그램 버퍼로 데이터를 옮기는 쓰레드를 생성하기로 결정했다. – keithyip