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));