Ir para o conteúdo principal
Version: 4.x

FAQ

Eu posso utilizar wildcards in events?

Não no Socket.IO diretamente, porém verifica a saída deste plugin by Hao-kang Den.Ele providencia Socket.IO middleware para lidar com wildcards.

Prevenir flooding para conexões unicas?

Limitar numeros do eventos por IP, uniqueUserId ou socket.id com o pacoterate-limiter-flexible package.

Socket.IO com Apache Cordova?

Dê uma olhada nesse tutorial.

Socket.IO no iOS?

Dê uma olhada em socket.io-client-swift.

Socket.IO no Android?

Dê uma olhada em socket.io-client.java.

Uso com express-session

const express = require('express');
const session = require('express-session');
const app = express();

const server = require('http').createServer(app);
const io = require('socket.io')(server);

const sessionMiddleware = session({ secret: 'keyboard cat', cookie: { maxAge: 60000 }});
// registro de middleware em Express
app.use(sessionMiddleware);
// registro de middleware em Socket.IO
io.use((socket, next) => {
sessionMiddleware(socket.request, {}, next);
// sessionMiddleware(socket.request, socket.request.res, next); não funcionará apenas com websocket
// ligações, como 'socket.request.res' será indefinido nesse caso
});

io.on('connection', (socket) => {
const session = socket.request.session;
session.connections++;
session.save();
});

const port = process.env.PORT || 3000;
server.listen(port, () => console.log('server listening on port ' + port));