Closed fanyiguang closed 1 year ago
不是必现的,怀疑和网速有关。通过外部程序往inbound监听打流量的方式暂时没有复现出来,但是通过获取outbound的conn然后赋给http client transport 的方式偶尔可以复现出溢出的情况。大致代码如下:
conn, err := l.outbound.DialContext(ctx, "tcp", metadata.ParseSocksaddrHostPortStr(host, port)) if err != nil { ch <- err return } defer conn.Close() client := http.Client{ Transport: &http.Transport{ Dial: func(network, addr string) (net.Conn, error) { return conn, nil }, DisableKeepAlives: true, }, CheckRedirect: func(req *http.Request, via []*http.Request) error { return http.ErrUseLastResponse }, } resp, err := client.Do(request) if err != nil { ch <- err return } resp.Body.Close() ch <- nil
怀疑是这个地方的问题:
这样改可以避免报错但不确定是否有其他问题:
I think the actual version of your code is below 1.3-beta13, is this a fork?
好的,明白了
Welcome
Description of the problem
不是必现的,怀疑和网速有关。通过外部程序往inbound监听打流量的方式暂时没有复现出来,但是通过获取outbound的conn然后赋给http client transport 的方式偶尔可以复现出溢出的情况。大致代码如下:
怀疑是这个地方的问题:
这样改可以避免报错但不确定是否有其他问题:
Version of sing-box
Server and client configuration file
Server and client log file