diff --git a/dialer/kcp/dialer.go b/dialer/kcp/dialer.go index ebae3f1..20b993c 100644 --- a/dialer/kcp/dialer.go +++ b/dialer/kcp/dialer.go @@ -149,7 +149,9 @@ func (d *kcpDialer) initSession(ctx context.Context, addr net.Addr, conn net.Pac smuxConfig.Version = config.SmuxVer smuxConfig.MaxReceiveBuffer = config.SmuxBuf smuxConfig.MaxStreamBuffer = config.StreamBuf - smuxConfig.KeepAliveInterval = time.Duration(config.KeepAlive) * time.Second + if config.KeepAlive > 0 { + smuxConfig.KeepAliveInterval = time.Duration(config.KeepAlive) * time.Second + } var cc net.Conn = kcpconn if !config.NoComp { cc = kcp_util.CompStreamConn(kcpconn) diff --git a/listener/kcp/listener.go b/listener/kcp/listener.go index 2638548..abfdabd 100644 --- a/listener/kcp/listener.go +++ b/listener/kcp/listener.go @@ -160,7 +160,9 @@ func (l *kcpListener) mux(conn net.Conn) { smuxConfig.Version = l.md.config.SmuxVer smuxConfig.MaxReceiveBuffer = l.md.config.SmuxBuf smuxConfig.MaxStreamBuffer = l.md.config.StreamBuf - smuxConfig.KeepAliveInterval = time.Duration(l.md.config.KeepAlive) * time.Second + if l.md.config.KeepAlive > 0 { + smuxConfig.KeepAliveInterval = time.Duration(l.md.config.KeepAlive) * time.Second + } if !l.md.config.NoComp { conn = kcp_util.CompStreamConn(conn)