xxxxxxxxxx
import bodyParser from 'body-parser';
import express from 'express';
import http from 'http';
import socketIo from 'socket.io';
import session from 'express-session'
var app = express();
const server = http.createServer(app)
// hook up session for express routes
const sessionMiddleware = session({
// genid: req => uuidv4(),
secret: 'keyboard cat',
resave: false,
saveUninitialized: true,
cookie: {}
})
// hook up the session for socket.io connections
io.use((socket, next) => sessionMiddleware(socket.request, socket.request.res || {}, next));
app.use(sessionMiddleware)
io.origins('*:*')
io.on("connection", (socket) => {
// socket.handshake.headers
console.log(`socket.io connected: ${socket.id}`);
const { roomId } = socket.handshake.query;
socket.join(roomId);
// Leave the room if the user closes the socket
socket.on("disconnect", () => {
console.log(`Client ${socket.id} diconnected`);
socket.leave(roomId);
});
});
app.use((req, res, next) => {
req.io = io
next()
})
app.set('port', (process.env.PORT || 4000));
server.listen(app.get('port'), function () {
var port = server.address().port;
console.log("App now running on port", port);
});
xxxxxxxxxx
import cors from 'cors';
import { createServer } from 'http';
import { Server } from 'socket.io'; //replaces (import socketIo from 'socket.io')
const httpServer = createServer(app);
const io = new Server(httpServer, { cors: { origin: '*' } });
io.on('connection', (socket) => {
console.log('Connection established');
getApiAndEmit(socket);
socket.on('disconnect', () => {
console.log('Disconnected');
});
});
const getApiAndEmit = (socket) => {
const response = 'response you need';
socket.emit('FromAPI', response);
};
app.set('port', process.env.PORT || 5000);
httpServer.listen(app.get('port'), function () {
var port = httpServer.address().port;
console.log('Running on : ', port);
});
xxxxxxxxxx
import bodyParser from 'body-parser';
import express from 'express';
import http from 'http';
import socketIo from 'socket.io';
import session from 'express-session'
var app = express();
const server = http.createServer(app)
// hook up session for express routes
const sessionMiddleware = session({
// genid: req => uuidv4(),
secret: 'keyboard cat',
resave: false,
saveUninitialized: true,
cookie: {}
})
// hook up the session for socket.io connections
io.use((socket, next) => sessionMiddleware(socket.request, socket.request.res || {}, next));
app.use(sessionMiddleware)
io.origins('*:*')
io.on("connection", (socket) => {
// socket.handshake.headers
console.log(`socket.io connected: ${socket.id}`);
const { roomId } = socket.handshake.query;
socket.join(roomId);
// Leave the room if the user closes the socket
socket.on("disconnect", () => {
console.log(`Client ${socket.id} diconnected`);
socket.leave(roomId);
});
});
app.use((req, res, next) => {
req.io = io
next()
})
app.set('port', (process.env.PORT || 4000));
server.listen(app.get('port'), function () {
var port = server.address().port;
console.log("App now running on port", port);
});