不使用`http.ListenAndServe`,使用`net.Listen`创建一个listener,然后采用`http.Serve`,是怎样使用的啊?

不使用http.ListenAndServe,使用net.Listen创建一个listener,然后采用http.Serve,是怎样使用的啊?
原来的代码

defer config.RunTime("ListenAndServe 1922:", time.Now())
    server := &http.Server{
        Addr:    my_addr,
        Handler: my_handler,
    }
    return server.ListenAndServe()

共 2 个回复


Zhangyc310

找到了,是这样的代码

    l, _ := net.Listen("tcp", addr)
    svr := http.Server{Handler: handler}
    return svr.Serve(l)
# 0

aaa

都是NET包, HTTP包就是对NET包的封装.
你可以不用官方封装, 直接监听80端口,自己实现HTTP那些规则.

# 1