2017-11-30 2 views
0

클라우드와 응용 프로그램간에 통신하는 여러 프로세스가 있습니다. 이제는 내 코드를 통해서만 프로세스에 대역폭을 할당하려고합니다. 몇 가지 링크를 살펴본 후이를 수행하는 방법을 알아보십시오. 그리고이 해결책을 찾았습니다. https://www.codeproject.com/Articles/18243/Bandwidth-throttlingC++ 응용 프로그램의 대역폭 조절

이 대역폭 조절을 수행 할 수있는 다른 방법이 있으면 알려주십시오. 이에 관한 모든 참조 문서 또는 링크가 도움이 될 것입니다. 당신은 아래의 방법을 시도 할 수 있습니다

+0

무엇을 시도 했습니까? 몇 가지 코드, 특히 통신을 처리하는 부분을 보여줄 수 있습니까? – BNT

+0

대역폭 조절 개념을 시작하기 전에 몇 가지 논리를 찾고 싶습니다. 나는 내가 게시 한 링크를 통해 그것을 달성하는 방법을 이해했습니다. 대역폭 조절을 할 수있는 다른 방법이 있는지 알고 싶었습니다. –

+0

링크를 잠깐 살펴 봤습니다. 네트워크 프로그래밍에 대한 자세한 내용은 잘 모릅니다. 그러나이 외의 간단한 아이디어는 다음과 같습니다. Insert ['sleep()'] (http://en.cppreference.com/w/cpp/thread/sleep_for) inbetween 네트워크 소켓에 쓰는 루프 (각 통신이 자체 스레드 또는 프로세스에 있다고 가정). 수면 시간을 조정하여 대역폭을 조정할 수 있습니다. 동일한 프로세스/스레드에서 여러 통신이 발생하면 'std' 컨테이너에서 빌드 할 수있는 스케줄러와 send-queues와 같은 것이 필요할 것입니다. – Scheff

답변

0

  1. 당신은 원하는 데이터 전송 속도 및 전류 전송 속도를 정의 할 수 있습니다. 현재 전송 속도는 클라우드로 송수신 할 수있는 바이트 수에 따라 다르지만 현재 전송 속도를 배율 X만큼 늘리거나 줄일 수는 있지만 원하는 전송 속도를 초과해서는 안됩니다. 소켓 클래스에 사용자 정의 클래스를 만들어 읽기/쓰기 기능을 만들 수 있습니다.

  2. 두 번째 것은 미리 정의 된 양의 데이터로, 소켓에서 읽기/쓰기 작업 만 수행합니다. 이 데이터 양은 읽기/쓰기 조작에 적합한 단위/토큰으로 간주 할 수 있습니다. 이 기술은 또한 사용자 정의 클래스에 추가 할 수 있습니다.

관련 문제