diff --git a/services/mux_bridge.go b/services/mux_bridge.go index 605a187..151e849 100644 --- a/services/mux_bridge.go +++ b/services/mux_bridge.go @@ -128,6 +128,9 @@ func (s *MuxBridge) handler(inConn net.Conn) { } _group, _ := s.clientControlConns.Get(groupKey) group := _group.(*utils.ConcurrentMap) + if v, ok := group.Get(index); ok { + v.(*smux.Session).Close() + } group.Set(index, session) // s.clientControlConns.Set(key, session) go func() { diff --git a/services/mux_server.go b/services/mux_server.go index f8e370a..2bba64a 100644 --- a/services/mux_server.go +++ b/services/mux_server.go @@ -164,7 +164,6 @@ func (s *MuxServer) Start(args interface{}) (err error) { log.Printf("connection handler crashed with err : %s \nstack: %s", err, string(debug.Stack())) } }() - inConnRemoteAddr := inConn.RemoteAddr().String() var outConn net.Conn var ID string for { @@ -178,8 +177,6 @@ func (s *MuxServer) Start(args interface{}) (err error) { break } } - outConnRemoteAddr := outConn.RemoteAddr().String() - log.Printf("%s stream %s created", *s.cfg.Key, ID) if *s.cfg.IsCompress { die1 := make(chan bool, 1)