3
내 코드에서 TCP 연결 대역폭을 제한하고 싶습니다. This 질문에는 몇 가지 단서가 있지만 정확히 내가 원하는 것은 아닙니다. 유사한 접근법을 사용하여 표준 lib (net/tcp 패키지)로 이동하는 src 코드를 해킹하려했지만 실패했습니다. 필자의 주요 아이디어는 여하튼 syscall에서 내부 버퍼로 데이터를 천천히 작성하여 OS가 TCP 패킷을 삭제하도록하는 것입니다.Golang에서 tcp 다운로드 속도 제한
로컬 TCP 버퍼에서 천천히 읽을지라도 커널은 한 번에'/ proc/sys/net/ipv4/tcp_rmem' (세 번째 숫자는 최대 버퍼 크기입니다)까지 가져올 수 있습니다. 오래 지속되는 연결의 경우 시간이 지남에 따라 평균을 구할 수 있습니다 (버퍼가 버스트로 채우고 천천히 소비, 버퍼 다시 채우기 등). 대역폭을 실제로 제한하려면 Go가 아니라 OS 계층에서해야합니다. https://unix.stackexchange.com/a/28203/40168을 참조하십시오. –