这导致从服务器发送2个DATA帧:
func(w http.ResponseWriter, r *http.Request) {
w.Write("foo")
w.(http.Flusher).Flush()
w.Write("bar")
w.(http.Flusher).Flush()
}
这导致从服务器发送1个HEADERS帧:
func(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Trailer:X", "a")
w.(http.Flusher).Flush()
w.Header().Set("Trailer:Y", "b")
w.(http.Flusher).Flush()
}
是否可以在不使用成帧器api的情况下获取作为多个HEADERS帧发送的预告片帧?
最佳答案
如果您只需要确保将预告片刷新到基础套接字中,则:
使用ConnState挂钩表示已将拖车写入连接。 This是编写预告片并且连接将其状态更改为StateIdle的时候。
如果要确保预告片是在单独的框架中发送的:
Hijack TCP连接,将终止块和尾部手动写入连接中,刷新连接,然后关闭连接。 (显然)这与Keepalive不兼容。