2016-08-02 1 views
-4

cURL에서와 같이 콜백 또는 이와 비슷한 조건으로 오디오 또는 비디오 스트림을 사용하여 요청 수행을 중단하는 방법은 무엇입니까?HTTPClient로 생성 된 요청 수행을 중지하는 방법

+2

가능한 중복 그것을 할 수 있습니다 6807590/how-to-stop-a-goroutine. 또한이 문서를 읽으십시오 : https://blog.golang.org/pipelines –

+2

중복/관련 가능성 : 1. [Go에서 차단 작업 취소] (http://stackoverflow.com/questions/28240133/cancela-a- 차단 - 작동 중); 2. [http 핸들러 내에서의 Goroutine 실행] (http://stackoverflow.com/questions/31116870/goroutine-execution-inside-an-http-handler); 3. [golang/gin에서 클라이언트 요청을 닫는 방법이 있습니까?] (http://stackoverflow.com/questions/32470792/is-there-anyway-to-close-client-request-in-golang-gin) – icza

답변

1

나는 당신이 찾고있는 것이 context package이라고 생각합니다. golang.org에 좋은 블로그 기사가 있습니다. 사용법은 here입니다.

요점은 컨텍스트 개체를 만들고 스트리밍을 수행중인 goroutine에 전달한다는 것입니다. 호출자의 goroutine에서 컨텍스트를 취소하거나 시간 제한을 설정할 수 있습니다. 스트리밍 goroutine에서는 context.Done()을 확인하고 이에 따라 행동해야합니다.

작업이 취소 할 HTTP 요청이 실제로 경우 (당신이 context.Done()에 메시지를받을 때), 당신은 transport level에서 http://stackoverflow.com/questions/의

관련 문제