@@ -13,7 +13,10 @@ export abstract class BaseGateway extends EventEmitter {
1313 protected _logger : Logger ;
1414
1515 protected constructor (
16- protected readonly _options : Pick < VNCRepeaterOptions , "socketTimeout" > & {
16+ protected readonly _options : Pick <
17+ VNCRepeaterOptions ,
18+ "socketTimeout" | "keepAlive"
19+ > & {
1720 port : number ;
1821 } ,
1922 logger : Logger ,
@@ -30,7 +33,7 @@ export abstract class BaseGateway extends EventEmitter {
3033
3134 this . _server = net . createServer (
3235 {
33- keepAlive : true ,
36+ keepAlive : Boolean ( this . _options . keepAlive ) ,
3437 allowHalfOpen : false ,
3538 pauseOnConnect : false ,
3639 } ,
@@ -135,12 +138,14 @@ export abstract class BaseGateway extends EventEmitter {
135138 ) ;
136139 socket . setTimeout ( this . _options . socketTimeout * 1000 ) ;
137140 }
138- socket . setKeepAlive ( true , 1000 ) ;
139- setKeepAliveInterval ( socket , 1000 ) ;
140- setKeepAliveProbes ( socket , 1 ) ;
141+ if ( this . _options . keepAlive ) {
142+ socket . setKeepAlive ( true , this . _options . keepAlive * 1000 ) ;
143+ setKeepAliveInterval ( socket , this . _options . keepAlive * 1000 ) ;
144+ setKeepAliveProbes ( socket , 1 ) ;
145+ }
141146 socket . on ( "error" , ( e ) => {
142- this . _logger . error ( e , "Socket error" ) ;
143- closeSocket ( socket ) ;
147+ this . _logger . error ( e , "Socket has occurred an error" ) ;
148+ closeSocket ( socket , true ) ;
144149 } ) ;
145150 }
146151
0 commit comments