赞
踩
概念:
构建一个http服务的步骤:
1. 注册处理器或直接注册处理器函数
① func Handle(pattern string, handler Handler)
②func HandleFunc(pattern string, handler func(ResponseWriter, *Request))
!!var f func(ResponseWriter, *Request)转化成Handler类型:h =HandlerFunc(f)
2. 监听TCP端口并对请求进行处理
func ListenAndServe(addr string, handler Handler) error {
server := &Server{Addr: addr, Handler: handler}
return server.ListenAndServe()
} //通过传入的参数addr及handler构建一个Server对象,再调用对象的方法进行处理
Server对象的ListenAndServe()分为两个步骤:
①监听TCP端口:ln, err := net.Listen(“tcp”, addr) 返回与请求的客户端新的socket连接
②调用Server对象的Serve()方法(先将ln装到实现了Listener接口的tcpKeepAliveListener结构体对象,再调用该方法)
func (srv *Server) Serve(l net.Listener) error
以下文章解释得超清楚了,链接如下:
Go 语言net/http 包使用模式
https://www.jianshu.com/p/ab2a790b59a2
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。