fèfix: fix quic reconnect fail

This commit is contained in:
ICKelin
2024-09-05 10:45:50 +08:00
parent ec42182187
commit beacb755b5
2 changed files with 8 additions and 0 deletions

View File

@@ -141,6 +141,10 @@ func (p *TProxyTCP) doProxy(conn net.Conn) {
logs.Debug("%s:%s=>%s:%s", sip, sport, dip, dport)
stream, err := sess.OpenStream()
if err != nil {
// force close to trigger reconnect
// quic CAN'T get close state by sess.IsClose()
// Close to trigger quic reconnect
sess.Close()
logs.Error("open stream fail: %v", err)
return
}

View File

@@ -191,6 +191,10 @@ func (p *TProxyUDP) serve(lconn *net.UDPConn) error {
p.udpsessLock.Unlock()
sess := p.routeManager.Route(p.region, dip)
if sess == nil {
// force close to trigger reconnect
// quic CAN'T get close state by sess.IsClose()
// Close to trigger quic reconnect
sess.Close()
logs.Error("no route to host: %s", dip)
continue
}