douzachan4578 2018-09-27 16:08
浏览 94

来自服务器的http.ResponseWritter-如何知道客户端是否收到响应

In my project I've got a use case when I send (I'm the server) a response to a hardware (the client) and I would like to revert some changes if the client disconnect from the wifi before reading the response.

render.Status(r, http.StatusCreated)
render.Respond(w, r, obj)

I do a respond and from this point on I want to check if the response is lost in the wild or found the client.

I've tried to hijacked it:

hj, ok := w.(http.Hijacker)
if !ok {
    http.Error(w, "webserver doesn't support hijacking", http.StatusInternalServerError)
    return
}
logs.Println("2")
conn, bufrw, err := hj.Hijack()
if err != nil {
    http.Error(w, err.Error(), http.StatusInternalServerError)
    return
}
err = conn.Close()
if err != nil {
    logs.Println("LOL", err)
}
...

But I can't catch anything... I've tried to check the w.Write() err without success!

Any idea on how to proceed?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥50 永磁型步进电机PID算法
    • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
    • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
    • ¥15 如何处理复杂数据表格的除法运算
    • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
    • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
    • ¥200 uniapp长期运行卡死问题解决
    • ¥15 latex怎么处理论文引理引用参考文献
    • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
    • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?