Web 服务器正常关闭未按预期工作

由于某种原因, with 行srv.ListenAndServe()似乎没有被执行,而优雅关闭仍然像以前一样在 go 例程中运行。

对我来说,代码看起来相同,只是重构为单独的文件并添加了 Start 函数。

谁能解释一下为什么它在我给出中断信号之前不执行,导致http服务器立即启动和关闭?


德玛西亚99
浏览 155回答 1
1回答

慕慕森

包含的代码行srv.ListenAndServe()是阻塞代码行,导致该行代码之后的日志不会发生。在我之前的博客中演示的原始代码中,我将此日志放在带有srv.ListenAndServe(). 因此,在该示例中,相同的代码按预期记录到控制台。所以这毕竟是一个愚蠢的错误,你可以轻松地阅读多次。基本上交换了 2 行代码,我忘记了http.ListenAndServe().要点:http.ListenAndServe() 根据定义是阻塞的,因此不会运行该行之后的任何代码。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go