登录
首页 >  Golang >  Go问答

服务器未持续监听且自定义处理程序

来源:stackoverflow

时间:2024-03-02 15:36:30 325浏览 收藏

编程并不是一个机械性的工作,而是需要有思考,有创新的工作,语法是固定的,但解决问题的思路则是依靠人的思维,这就需要我们坚持学习和更新自己的知识。今天golang学习网就整理分享《服务器未持续监听且自定义处理程序》,文章讲解的知识点主要包括,如果你对Golang方面的知识点感兴趣,就不要错过golang学习网,在这可以对大家的知识积累有所帮助,助力开发能力的提升。

问题内容

我试图了解如何正确实现 http.handler 。我编写了准系统包代码。这是我的包代码

package app

import (
    "fmt"
    "net/http"
)

//handler is the handler function
type handler struct {
}

func (h *handler) servehttp(rw http.responsewriter, req *http.request) {
    fmt.println("running servehttp")
    rw.write(([]byte)("hello"))
    return
}

//newhandler is
func newhandler() *handler {
    return &handler{}
}

//start will start the server
func (h *handler) start() {
    fmt.println("running start")
    http.listenandserve("8080", h)

}

我在上述包中创建了一个目录,将其命名为“examples”。我创建了一个文件 main.go 并将其写入主函数中(导入包后)。

func main() {

    handler := app.NewHandler()

    handler.Start()
}

但是,当我使用 go run *.go 运行它时,在控制台上写入 running start 后,程序几乎立即中断。不应该一直听下去吗?我做错了什么?


解决方案


http.listenandserve() 函数返回错误。 您可以通过记录来检查:

fmt.Println(http.ListenAndServe("8000", h))

您将看到,在您的情况下,它返回一个错误,导致函数返回。

您所需要做的就是将地址传递为 :8000

好了,本文到此结束,带大家了解了《服务器未持续监听且自定义处理程序》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

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