-4
コールバックやcURLのような何らかの条件で、オーディオやビデオストリームなどのリクエストを実行する方法を停止するにはどうすればよいですか?HTTPClientで作成された実行リクエストを停止する方法
コールバックやcURLのような何らかの条件で、オーディオやビデオストリームなどのリクエストを実行する方法を停止するにはどうすればよいですか?HTTPClientで作成された実行リクエストを停止する方法
あなたが探しているものはcontext packageと信じています。 golang.orgには、それを使用する方法を説明する良いブログ記事がありますhere。
要点は、コンテキストオブジェクトを作成し、それをストリーミングを実行しているあなたのゴルーチンに渡すことです。呼び出し元のゴルーチンでは、コンテキストをキャンセルしたり、タイムアウトを設定することができます。ストリーミング・ゴルーチンでは、context.Done()
をチェックし、それに応じて行動する必要があります。アクションが実際にあなたがキャンセルしたいhttpリクエストである場合、あなたはtransport levelでそれを行うことができます
(あなたがcontext.Done()
にメッセージを取得する)
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ハンドラ内のゴルーチンの実行](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