gpt4 book ai didi

go - 是否可以将尾部 header 刷新到客户端?

转载 作者:IT王子 更新时间:2023-10-29 01:47:08 27 4
gpt4 key购买 nike

这导致从服务器发送 2 个数据帧:

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()
}

有没有办法在不使用 framer api 的情况下将尾部帧作为多个 HEADERS 帧发送?

最佳答案

如果您只需要确保尾部被刷新到底层套接字中:

使用ConnState钩子(Hook)发出有关拖车被写入连接的信号。 This是编写预告片并且连接将其状态更改为 StateIdle 的时间点。

如果您想确保预告片在单独的帧中发送:

Hijack TCP 连接,手动将终止 block 和尾部写入连接,刷新连接,关闭连接。这(显然)与 keepalive 不兼容。

关于go - 是否可以将尾部 header 刷新到客户端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48615218/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com