Maison  >  Article  >  développement back-end  >  Voici quelques options de titre qui correspondent au format de questions et réponses : * **Pourquoi la connexion HTTP My Go ne se ferme-t-elle pas lorsque l'utilisateur termine le téléchargement ?** * **Comment fermer gracieusement la connexion HTTP

Voici quelques options de titre qui correspondent au format de questions et réponses : * **Pourquoi la connexion HTTP My Go ne se ferme-t-elle pas lorsque l'utilisateur termine le téléchargement ?** * **Comment fermer gracieusement la connexion HTTP

Barbara Streisand
Barbara Streisandoriginal
2024-10-28 12:13:02946parcourir

Here are a few title options that fit the question-and-answer format:

* **Why Is My Go HTTP Connection Not Closing When the User Terminates the Download?**
* **How Do I Gracefully Close HTTP Connections in Go When Downloads Are Interrupted?**
* **Ensurin

Dépannage des fermetures de connexion HTTP dans Go

Dans un programme qui télécharge un fichier à partir d'un serveur et le renvoie à l'utilisateur, il est crucial de maintenir l'intégrité de la connexion. Lorsque l'utilisateur arrête le téléchargement ou met fin à la connexion, la connexion GET doit également être interrompue. Cependant, comme l'observent les graphiques d'utilisation, cela ne se produit pas.

Fermeture de la connexion HTTP

Pour résoudre ce problème, il est essentiel de fermer le corps de la requête en toutes circonstances. Voici comment procéder :

<code class="go">resp, httpErr := http.Get(url.String())
if httpErr != nil {
    // Handle error
    return
}
// If there's no error, defer the call for closing the body
defer resp.Body.Close()</code>

Différer la fermeture du Body garantit qu'il sera exécuté même lorsqu'une erreur survient. De plus, io.Copy fournit des informations sur le succès de l'opération de copie. Vous pouvez le vérifier en utilisant le code suivant :

<code class="go">written, err := io.Copy(w, resp.Body)
if err != nil {
    // Copy did not succeed
}</code>

En fermant la connexion correctement et en vérifiant le résultat de io.Copy, vous pouvez vous assurer que la connexion HTTP est terminée lorsque l'utilisateur ferme le téléchargement ou la connexion. .

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