http.Server开始监听时收到通知

时间:2017-06-16 20:11:46

标签: go

当我查看net / http服务器界面时,我看不到一种明显的方式来获取通知并在http.Server启动并且启动监听时做出反应:

ListenAndServe(":8080", nil)

在服务器实际关闭之前,该功能不会返回。我也查看了服务器类型,但似乎没有任何东西可以让我进入那个时间。某些功能或频道会很棒,但我没有看到任何功能。

有什么方法可以让我发现那个事件,还是我只是睡觉“足够”来假装它?

1 个答案:

答案 0 :(得分:2)

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将轻松消耗侦听套接字上的任何积压。

相关问题:https://stackoverflow.com/a/32742904/5728991