diff --git a/code/client/pool/handler.go b/code/client/pool/handler.go index ca18ead..21e2fd7 100644 --- a/code/client/pool/handler.go +++ b/code/client/pool/handler.go @@ -26,7 +26,7 @@ func (p *Pool) handleConnectReq(conn *network.Conn, from, to string, req *networ port, _ := strconv.ParseUint(pt, 10, 16) tn := tunnel.New(global.Tunnel{ Name: req.GetName(), - Target: to, + Target: from, Type: dial, LocalAddr: host, LocalPort: uint16(port), diff --git a/code/client/pool/pool.go b/code/client/pool/pool.go index 0777471..59ff54f 100644 --- a/code/client/pool/pool.go +++ b/code/client/pool/pool.go @@ -108,6 +108,14 @@ func (p *Pool) connect(cfg *global.Configure, idx int) { logging.Error("read message: %v", err) return } + from := msg.GetFrom() + if len(from) > 0 { + n := strings.LastIndex(from, "-") + if n != -1 { + from = from[:n] + } + msg.From = from + } switch msg.GetXType() { case network.Msg_connect_req: p.handleConnectReq(c, msg.GetFrom(), msg.GetTo(), msg.GetCreq())