ソースを参照

fix xtcp visitor panic

fatedier 6 年 前
コミット
1a8ac148ca
2 ファイル変更15 行追加6 行削除
  1. 6 6
      client/proxy_manager.go
  2. 9 0
      client/visitor.go

+ 6 - 6
client/proxy_manager.go

@@ -13,12 +13,12 @@ import (
 )
 
 const (
-	ProxyStatusNew          = "new"
-	ProxyStatusStartErr     = "start error"
-	ProxyStatusWaitStart    = "wait start"
-	ProxyStatusRunning      = "running"
-	ProxyStatusCheckFailed  = "check failed"
-	ProxyStatusClosed       = "closed"
+	ProxyStatusNew         = "new"
+	ProxyStatusStartErr    = "start error"
+	ProxyStatusWaitStart   = "wait start"
+	ProxyStatusRunning     = "running"
+	ProxyStatusCheckFailed = "check failed"
+	ProxyStatusClosed      = "closed"
 )
 
 type ProxyManager struct {

+ 9 - 0
client/visitor.go

@@ -202,7 +202,16 @@ func (sv *XtcpVisitor) handleConn(userConn frpNet.Conn) {
 
 	raddr, err := net.ResolveUDPAddr("udp",
 		fmt.Sprintf("%s:%d", g.GlbClientCfg.ServerAddr, g.GlbClientCfg.ServerUdpPort))
+	if err != nil {
+		sv.Error("resolve server UDP addr error")
+		return
+	}
+
 	visitorConn, err := net.DialUDP("udp", nil, raddr)
+	if err != nil {
+		sv.Warn("dial server udp addr error: %v", err)
+		return
+	}
 	defer visitorConn.Close()
 
 	now := time.Now().Unix()