小编典典

在http.Server开始侦听时收到通知

go

当我查看net / http服务器接口时,没有看到一种明显的方式来通知并在http.Server启动并 开始 侦听时作出反应:

ListenAndServe(":8080", nil)

直到服务器真正关闭后,该函数才返回。我还查看了服务器类型,但似乎没有什么可以让我把握这一时机。某些功能或频道会很棒,但我看不到任何东西。

有什么方法可以让我检测到该事件,还是我只需要“熟睡”一下以伪造它?


阅读 281

收藏
2020-07-02

共1个答案

小编典典

ListenAndServe是一个帮助程序函数,它打开一个侦听套接字,然后在该套接字上提供连接。直接在您的应用程序中编写代码以通知套接字何时打开:

l, err := net.Listen("tcp", ":8080")
if err != nil {
    // handle error
}

// Signal that server is open for business.

if err := http.Serve(l, rootHandler); err != nil {
    // handle error
}

如果信令步骤没有阻塞,则http.Serve将轻松消耗侦听套接字上的所有积压。

2020-07-02