Skip to content

Commit c4e2bd0

Browse files
authored
WebSocketsManager`: send periodic ping over WebSockets to prevent connection closure for inactivity
1 parent aadcbea commit c4e2bd0

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

packages/dev-server-core/src/web-sockets/WebSocketsManager.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,10 @@ export class WebSocketsManager extends EventEmitter<Events> {
2929
});
3030
this.webSocketServer.on('connection', webSocket => {
3131
this.openSockets.add(webSocket);
32+
// Ping periodically to prevent socket from being closed with error status 1006 due to inactivity e.g. when testing on Browserstack
33+
const pingInterval = setInterval(() => { webSocket.ping() }, 10000);
3234
webSocket.on('close', () => {
35+
clearInterval(pingInterval);
3336
this.openSockets.delete(webSocket);
3437
});
3538

0 commit comments

Comments
 (0)