无法在Golang的http2中使用流式传输

时间:2019-05-13 12:21:46

标签: go streaming http2

如何在golang中重用http2流?

大家好,最近我尝试了多种方法来重用流来发送http2数据,但是失败了,而且在http2中找不到很多相关的解决方案,有人可以给我一些提示或演示吗?

client := http.Client{

        Transport: &http2.Transport{
            DialTLS: func(network, addr string, cfg *tls.Config) (net.Conn, error) {
                return net.DialTimeout(network, addr, time.Second)
            },
                AllowHTTP: true,
        },
    }

    resp, err := client.Get(path)

我尝试使用resp作为客户端,并写入此resp以将数据发送到服务器。是正确的方法吗?

1 个答案:

答案 0 :(得分:0)

在HTTP / 2中,流是短暂的,并且对应于请求/响应交换。实际上,响应结束会关闭流。如果基础连接使用的是HTTP / 2,则通过client.Get发出另一个请求将自动在该连接上打开一个新的流。