2016-08-26 8 views
1

내 Mac OS X 응용 프로그램의 데이터 속도 (대역폭 조절)를 줄이려고합니다.
나는 이미 - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data 방법으로 잠을 자려고했지만 그게 도움이되지 않습니다.
이 질문을 확인하십시오.
Limit NSURLConnection data rate? (Bandwidth throttling)
그러나이 점이 도움이되지 않습니다.
목적 c에서 대역폭 조절을 수행하는 다른 방법이 있습니까대용량 대역폭 제한 (NSURLConnection 데이터 속도 제한)

+0

내 앱에서 같은 문제가 있습니다.이 질문에 대해 하나의 ans를 공유하십시오. –

답변

1

문제는 다른 스레드에서 작업이 발생하고 있다는 것입니다.

대역폭 조절을 실제로해야하는 경우에는 소켓 연결을 직접 관리하는 방법이 하나뿐입니다. 이는 기본적으로 자신의 HTTP 요청 클래스를 작성하거나 libcurl을 사용하는 것을 의미합니다.

iOS에서이 작업을 수행해야하는 경우 해당 경로를 따라 가면 셀룰러 라디오를 깨우기 위해 NSURLConnection 또는 NSURLSession을 사용하여 최소한 간략한 상위 수준 요청을해야합니다.

NSURLConnection 대신 NSURLSession을 사용하여 HTTP 프록시 라이브러리를 앱에 포함시키고 해당 프록시를 통해 모든 요청을 보내도록 설정 한 다음 프록시 코드를 수정하여 속도를 제한하도록 조절할 수도 있습니다 소켓에서 데이터를 읽습니다.

이러한 방법 중 어느 것도 희미한 마음을위한 방법이 아닙니다.

또는 앱 자체가 스로틀 링하는지 여부에 신경 쓰지 않는다면 고려할 수있는 다양한 대역폭 형성 도구 (예 : 네트워크 링크 컨디셔너)가 있습니다.

+0

이 하나의 도움으로 도움이되었습니다. –