You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have a periodic service in nodejs that tries to create 30-40 socket connections and close it in case (it gets connected successfully or some error occurs while connecting) but every now an then I get Maxmimum call stack size exceeded error at line connection.close()
My Code structure
const connection = ws.connect(socketServerUrl, (err) => {
if (err) {
// console.log the error
}
else {
connection.sendPing();
}
});
connection.on('error', (err) => {
const reason = err && err.message ? err.message : err;
// THIS IS WHERE I GET THAT MAX CALL STACK SIZE REACHED EXCEPTION
connection.close(); // release the connection
});
connection.on('pong', (data) => {
connection.close(); // release the connection
});
Error Screenshot
The text was updated successfully, but these errors were encountered:
I am also open to other better ways to do this, basically what I need to do is check every few minutes whether socket servers are accepting connection or not.
However, the lib shouldn't crash when someone does it :)
This happens because a call to close() (by WebSocket spec) does not close the socket right away. First it tries to inform the peer the connection will be dropped by a given reason. The underlying call to write errors and cycle error -> close -> write -> error -> ... begins
I don't have the time to fix this issue for now, however I'm open for a PR if you want to dive into the code.
I have a periodic service in nodejs that tries to create 30-40 socket connections and close it in case (it gets connected successfully or some error occurs while connecting) but every now an then I get Maxmimum call stack size exceeded error at line
connection.close()
My Code structure
Error Screenshot
The text was updated successfully, but these errors were encountered: