net/http的handle中启动goruntime

复制代码
{

http.HandleFunc("/device_status", radiusAccountHandler)

err := http.ListenAndServe(":8000", nil)

}

func radiusAccountHandler(w http.ResponseWriter, r *http.Request) {
    // 处理请求
    fmt.Fprintf(w, "ok")
    go sendAccountToInst(r)
}
复制代码

实际上 执行sendAccountToInst函数时, 传入的参数r 值都为空。此时将go sendAccountToInst(r)改为 sendAccountToInst(r)就正常

什么原因?

 目前查看net/http的源代码:

     inFlightResponse = w
        serverHandler{c.server}.ServeHTTP(w, w.req) // 回调注册的函数
        inFlightResponse = nil
        w.cancelCtx()// 所有的子上下文被取消

 

posted @   codestacklinuxer  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
历史上的今天:
2021-08-02 怎样查找进程被谁频繁干掉
点击右上角即可分享
微信分享提示