mirror of
https://gitclone.com/github.com/MetaCubeX/Clash.Meta
synced 2025-04-25 04:38:04 +08:00
fix: don't close tuic when read timeout
This commit is contained in:
parent
30ca59dab7
commit
142d17ebad
@ -214,22 +214,26 @@ func (t *Client) DialContext(ctx context.Context, metadata *C.Metadata, dialFn f
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
defer func() {
|
stream, err := func() (quic.Stream, error) {
|
||||||
t.deferQuicConn(quicConn, err)
|
defer func() {
|
||||||
|
t.deferQuicConn(quicConn, err)
|
||||||
|
}()
|
||||||
|
buf := &bytes.Buffer{}
|
||||||
|
err = NewConnect(NewAddress(metadata)).WriteTo(buf)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
stream, err := quicConn.OpenStream()
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
_, err = buf.WriteTo(stream)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return stream, err
|
||||||
}()
|
}()
|
||||||
buf := &bytes.Buffer{}
|
|
||||||
err = NewConnect(NewAddress(metadata)).WriteTo(buf)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
stream, err := quicConn.OpenStream()
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
_, err = buf.WriteTo(stream)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
if t.RequestTimeout > 0 {
|
if t.RequestTimeout > 0 {
|
||||||
_ = stream.SetReadDeadline(time.Now().Add(time.Duration(t.RequestTimeout) * time.Millisecond))
|
_ = stream.SetReadDeadline(time.Now().Add(time.Duration(t.RequestTimeout) * time.Millisecond))
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user