Performance: Handling connection events
This affects server responsiveness and resource usage during client connections.
const express = require('express'); const app = express(); app.on('connection', (socket) => { setImmediate(() => { console.log('New connection'); }); }); app.listen(3000);
const express = require('express'); const app = express(); app.on('connection', (socket) => { // Heavy synchronous processing for (let i = 0; i < 1e7; i++) {} console.log('New connection'); }); app.listen(3000);
| Pattern | Event Loop Blocking | Connection Handling Delay | Resource Usage | Verdict |
|---|---|---|---|---|
| Synchronous heavy processing in connection event | Blocks event loop | High delay | High CPU usage | [X] Bad |
| Asynchronous deferred processing in connection event | Non-blocking | Minimal delay | Efficient CPU usage | [OK] Good |
io.on('connection', callback) do in an Express app using Socket.IO?io.on('connection', (socket) => {
console.log('User connected');
socket.on('disconnect', () => {
console.log('User disconnected');
});
});io.on('connection', (socket) => {
socket.on('disconnect', () => {
console.log('User disconnected');
});
});
socket.on('disconnect', () => {
console.log('Another disconnect');
});io.on('connection', (socket) => { ... }) correctly does this when a user connects?Pass the test and this pattern moves unknown