登录
首页 >  Golang >  Go问答

当 http.Server 开始监听时得到通知

来源:Golang技术栈

时间:2023-04-09 12:48:48 128浏览 收藏

本篇文章主要是结合我之前面试的各种经历和实战开发中遇到的问题解决经验整理的,希望这篇《当 http.Server 开始监听时得到通知》对你有很大帮助!欢迎收藏,分享给更多的需要的朋友学习~

问题内容

当我查看 net/http 服务器界面时,我看不到在 http.Server 启动并 开始 侦听时获得通知和做出反应的明显方法:

ListenAndServe(":8080", nil)

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

有什么方法可以让我检测到该事件,还是我只能睡“足够”来伪造它?

正确答案

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

文中关于golang的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《当 http.Server 开始监听时得到通知》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>