Go で HTTP Get 帯域幅を制限する方法: カスタム アプローチ?
Go で HTTP Get 帯域幅を制限する方法
Go の初心者として、消費される帯域幅を制御する必要があるシナリオに遭遇する可能性があります。 http.Get() リクエストによって。一般的な解決策の 1 つは、mxk/go1/flowcontrol などのサードパーティ パッケージを利用することです。ただし、基礎となるメカニズムをより深く理解するために、この記事では簡単なカスタム アプローチを提供します。
帯域幅を制限するには、HTTP 応答本文からデータを読み取る速度を制限する必要があります。提供されたコード スニペットでは:
<code class="go">package main import ( "io" "net/http" "os" "time" ) var datachunk int64 = 500 //Bytes var timelapse time.Duration = 1 //per seconds func main() { responce, _ := http.Get("http://google.com") for range time.Tick(timelapse * time.Second) { _, err := io.CopyN(os.Stdout, responce.Body, datachunk) if err != nil { break } } }</code>
2 つの変数を定義します:
- datachunk は、応答本文から読み取られるデータ チャンクのサイズをバイト単位で決定します。
- タイムラプスは、データ チャンクを読み取る間隔を指定します。
メイン関数は次の手順を実行します。
- HTTP GET リクエストを送信し、応答を応答に保存します。変数。
- 指定されたタイムラプスを待機する無限ループに入ります。
- ループ内で、io.CopyN() を使用して応答本文からデータのチャンクを読み取ります。チャンクのサイズはデータチャンクによって定義され、タイムラプスにより、指定された間隔で 1 つのチャンクのみが読み取られることが保証されます。
このシンプルなアプローチにより、HTTP GET リクエストの帯域幅を制限する柔軟な方法が提供されます。 。必要に応じてデータチャンクとタイムラプスを調整して、目的の帯域幅制限を達成できます。
以上がGo で HTTP Get 帯域幅を制限する方法: カスタム アプローチ?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Go Language Packのインポート:アンダースコアとアンダースコアなしの違いは何ですか?

MySQLクエリ結果リストをGO言語のカスタム構造スライスに変換する方法は?

GOのジェネリックのカスタムタイプ制約を定義するにはどうすればよいですか?

GOでテスト用のモックオブジェクトとスタブを書くにはどうすればよいですか?

トレースツールを使用して、GOアプリケーションの実行フローを理解するにはどうすればよいですか?
