Menghadkan Penggunaan Lebar Jalur bagi Permintaan HTTP
Menghadkan penggunaan lebar jalur permintaan HTTP ialah teknik yang digunakan untuk mengawal trafik rangkaian yang digunakan oleh Golang anda permohonan. Begini cara anda boleh mencapai ini menggunakan kaedah http.Get():
Anda boleh menggunakan pakej pihak ketiga seperti code.google.com/p/mxk/go1/flowcontrol, yang menyediakan pembalut yang mudah untuk mengehadkan lebar jalur . Walau bagaimanapun, jika anda lebih suka memahami mekanisme asas, anda boleh melaksanakannya secara manual.
Memahami Had Lebar Jalur:
Ideanya adalah untuk mengawal kadar di mana data dihantar atau diterima oleh permohonan anda. Untuk mengehadkan lebar jalur, kita perlu mengawal bilangan bait yang boleh dibaca daripada badan tindak balas pada selang waktu tertentu.
Pelaksanaan Kod:
<code class="go">package main import ( "io" "net/http" "os" "time" ) var datachunk int64 = 500 // Bytes var timelapse time.Duration = 1 // per second func main() { response, _ := http.Get("http://google.com") for range time.Tick(timelapse * time.Second) { _, err := io.CopyN(os.Stdout, response.Body, datachunk) if err != nil { break } } }</code>
Penjelasan:
Kod bermula dengan menghantar permintaan HTTP kepada Google dan menyimpan respons dalam pembolehubah. Gelung kemudiannya dimulakan untuk membaca data daripada badan tindak balas dalam ketulan 500 bait dan mencetaknya ke output standard. Fungsi time.Tick digunakan untuk mengawal selang masa antara setiap bahagian yang dibaca.
Pelaksanaan mudah ini secara berkesan mengehadkan penggunaan lebar jalur dengan mempercepatkan pemindahan data kepada kadar tertentu. Pembolehubah datachunk dan timelapse boleh dilaraskan untuk menala penggunaan lebar jalur mengikut keperluan.
Nota: Kaedah ini tidak mengehadkan lebar jalur yang digunakan oleh sambungan rangkaian asas, sebaliknya mengawal kadar pada data yang manakah dibaca daripada badan respons.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengehadkan Penggunaan Lebar Jalur Permintaan HTTP di Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!