Maison >développement back-end >Golang >Comment limiter l'utilisation de la bande passante dans HTTP Get() en Go ?

Comment limiter l'utilisation de la bande passante dans HTTP Get() en Go ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-29 18:51:02703parcourir

How to Limit Bandwidth Usage in HTTP Get() in Go?

Limiter la bande passante de HTTP Get in Go

Pour les débutants en Go, il est utile de savoir comment limiter l'utilisation de la bande passante dans http.Get( ). Bien que les packages tiers proposent des wrappers pratiques, il est tout aussi important de comprendre les mécanismes sous le capot.

Pour limiter la bande passante de http.Get(), vous pouvez utiliser l'approche suivante :

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
        }
    }
}

Ce code parcourt une boucle qui lit un nombre spécifié d'octets (datachunk) dans un intervalle de temps donné (timelapse). En lisant continuellement de petits morceaux de données sur une période définie, vous limitez efficacement l'utilisation de la bande passante.

Cette approche évite les dépendances complexes avec des tiers et offre un contrôle précis sur la limitation de la bande passante.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn