Maison > développement back-end > Golang > allez http.ListenAndServe sans attendre la connexion, cela ressemble à une sortie

allez http.ListenAndServe sans attendre la connexion, cela ressemble à une sortie

WBOY
Libérer: 2024-02-14 22:12:08
avant
974 Les gens l'ont consulté

go http.ListenAndServe 不等待连接看起来像是退出

l'éditeur php Yuzi vous présentera un problème intéressant et courant dans cet article, à savoir, lors de l'utilisation de la fonction http.ListenAndServe dans le langage Go, pourquoi elle semble se terminer sans attendre la connexion. Cette question peut prêter à confusion, mais elle est en réalité causée par les caractéristiques de concurrence du langage Go. Dans le contenu suivant, nous expliquerons en détail la cause de ce problème et donnerons des solutions pour aider les lecteurs à mieux comprendre et utiliser la fonction http.ListenAndServe en langage Go.

Contenu de la question

J'ai une application simple et je veux que ce soit un démon en attente de connexions, mais on dirait qu'il n'écoute pas et je ne la trouve même pas dans la liste des processus.

Code :

package main

import (
        "fmt"
        "log"
        "net/http"
)

func main() {
        fmt.Println("Start Server")
        log.Print("Start Server")
        http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
                fmt.Fprintln(w, "Hello, World! from linux")
        })
        log.Print("Going to listen")
        if err := http.ListenAndServe(":80", nil); err != err {
          log.Print("getting error")
          log.Fatal(err)
        }
        fmt.Println("End  Server")
        log.Print("End  Server")
}
Copier après la connexion

Compilez et exécutez :

xxx@xxx:~/go_test$ CGO_ENABLED=0 go build -gcflags "all=-N -l" -o ./main
    umen@umen:~/go_test$ ./main
Start Server
2023/11/15 07:40:22 Start Server
2023/11/15 07:40:22 Going to listen
End  Server
2023/11/15 07:40:22 End  Server
Copier après la connexion

Essayez de vous connecter :

xxx@xxx:~$ curl http://localhost
curl: (7) Failed to connect to localhost port 80 after 0 ms: Connection refused
Copier après la connexion

Qu'est-ce qui me manque ici ?

Mise à jour

Suppression de Fatal, qui démarre et s'arrête toujours sans écouter les demandes get.

Workaround

log.Fatal("Going to Listen") Terminez l'exécution de votre application.

Référence :

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!

Étiquettes associées:
source:stackoverflow.com
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal