V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
zhwguest
V2EX  ›  Go 编程语言

一直不知道如何直接判断 golang 的 http server 已经启动进入侦听状态了

  •  
  •   zhwguest · 35 天前 · 1985 次点击
    这是一个创建于 35 天前的主题,其中的信息可能已经有所发展或是发生改变。

    不知道为什么

    9 条回复    2024-10-29 16:20:01 +08:00
    zpfhbyx
        1
    zpfhbyx  
       35 天前
    netstat -anp | grep 端口
    fds
        2
    fds  
       35 天前
    goroutine 会卡在那里呀。如果退出监听状态程序就继续执行了。你如果需要可以在语句前后改一下别的变量,记录状态,不过得注意并发安全。不清楚你是想实现什么,就是随便说说。这种问题可以问 gpt 。
    bv
        3
    bv  
       35 天前   ❤️ 3
    lis, err := net.Listen("tcp", ":8080")
    if err != nil {
    fmt.Printf("listen error: %v\n", err)
    return
    }
    fmt.Println("listening on port 8080")

    srv := &http.Server{}
    srv.Serve(lis)
    changz
        4
    changz  
       35 天前
    健康检查+探针
    phithon
        5
    phithon  
       35 天前
    可以用 wait-for-it
    tairan2006
        6
    tairan2006  
       35 天前
    http 探针啊。。这和别的语言有啥区别么
    Ackvincent
        7
    Ackvincent  
       35 天前
    telnet 一下?
    guanzhangzhang
        8
    guanzhangzhang  
       35 天前
    代码里的话,如果是多端口 server ,你可以找些 grpc 和 http port 的项目看下
    外部的话就有个/healthz 之类的路由外部探测
    leonshaw
        9
    leonshaw  
       35 天前
    先 Listen() 再 Serve()
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1534 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 17:09 · PVG 01:09 · LAX 09:09 · JFK 12:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.