-4
cURL에서와 같이 콜백 또는 이와 비슷한 조건으로 오디오 또는 비디오 스트림을 사용하여 요청 수행을 중단하는 방법은 무엇입니까?HTTPClient로 생성 된 요청 수행을 중지하는 방법
cURL에서와 같이 콜백 또는 이와 비슷한 조건으로 오디오 또는 비디오 스트림을 사용하여 요청 수행을 중단하는 방법은 무엇입니까?HTTPClient로 생성 된 요청 수행을 중지하는 방법
나는 당신이 찾고있는 것이 context package이라고 생각합니다. golang.org에 좋은 블로그 기사가 있습니다. 사용법은 here입니다.
요점은 컨텍스트 개체를 만들고 스트리밍을 수행중인 goroutine에 전달한다는 것입니다. 호출자의 goroutine에서 컨텍스트를 취소하거나 시간 제한을 설정할 수 있습니다. 스트리밍 goroutine에서는 context.Done()
을 확인하고 이에 따라 행동해야합니다.
작업이 취소 할 HTTP 요청이 실제로 경우 (당신이 context.Done()
에 메시지를받을 때), 당신은 transport level에서 http://stackoverflow.com/questions/의
가능한 중복 그것을 할 수 있습니다 6807590/how-to-stop-a-goroutine. 또한이 문서를 읽으십시오 : https://blog.golang.org/pipelines –
중복/관련 가능성 : 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