当我查看net / http服务器界面时,我看不到一种明显的方式来获取通知并在http.Server启动并且启动监听时做出反应:
ListenAndServe(":8080", nil)
在服务器实际关闭之前,该功能不会返回。我也查看了服务器类型,但似乎没有任何东西可以让我进入那个时间。某些功能或频道会很棒,但我没有看到任何功能。
有什么方法可以让我发现那个事件,还是我只是睡觉“足够”来假装它?
答案 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将轻松消耗侦听套接字上的任何积压。