在PHP中可以通过fastcgi_finish_request函数提前结束一个请求,这样在结束请求后php脚本可以继续执行其他任务而不需要客户端等待php脚本执行结束,那么类似的功能在使用go开发web server时能不能实现?
更多评论
找到了一种方法,测试有效,只是不知道会不会有其他问题
http.ResponseWriter实现了http.Hijacker的接口,Hijacker中的Hijack方法返回一个net.Conn对象,利用net.Conn的Close方法关闭连接
```
func server(w http.ResponseWriter, r *http.Request) {
//正常的处理逻辑
//下面关闭连接
if hj, ok := w.(http.Hijacker); ok {
conn, _, _ := hj.Hijack()
conn.Close()
}
//连接关闭后的处理,比如记录日志
}
```
#1