Socket.io: Nodejs Socket.io рдПрдХреНрд╕рдкреНрд░реЗрд╕ HTTP API рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╣реИрдВрдбрд╢реЗрдХ рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 19 рдирд╡ре░ 2017  ┬╖  2рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: socketio/socket.io

рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐:

  • [x] рдПрдХ рдмрдЧ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдВ

рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░

рдореИрдВ Nodejs , рдПрдХреНрд╕рдкреНрд░реЗрд╕ рд╕рд░реНрд╡рд░ рдФрд░ MongoDB рдХреЗ рд╕рд╛рде SocketIo рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдореИрдВрдиреЗ рдкреНрд░рд▓реЗрдЦрди рдХрд╛ рдкрд╛рд▓рди рдХрд┐рдпрд╛ред рдпрд╣ рдХрдИ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╕рдордп рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд╡реЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдПрдХ-рджреВрд╕рд░реЗ рдХреЛ рд╕рдВрджреЗрд╢ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВред рдЬрдм рдореИрдВрдиреЗ рдПрдХ рдПрдЪрдЯреАрдкреА рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛, рддреЛ рдореИрдВ рдХрд┐рд╕реА рднреА рдирдП рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдХрдиреЗрдХреНрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдФрд░ рдпрд╣ рддреНрд░реБрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рд╕реЙрдХреЗрдЯ.рдЖрдИрдУ.рдЬреЗрдПрд╕:7370 рд╡реЗрдмрд╕реЙрдХреЗрдЯ рдХрдиреЗрдХреНрд╢рди
'ws: // рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ: 28232/socket.io/?userId=userAmr&EIO=3&transport=websocket&sid=wNTTgrUD-PSeNaIcAAAF '
рд╡рд┐рдлрд▓: WebSocket рд╣реИрдВрдбрд╢реЗрдХ рдХреЗ рджреМрд░рд╛рди рддреНрд░реБрдЯрд┐: рдЕрдирдкреЗрдХреНрд╖рд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛрдб:
400

рдПрдЪрдЯреАрдкреА рдЕрдиреБрд░реЛрдз рд╕реЗ рдкрд╣рд▓реЗ рдЬреБрдбрд╝реЗ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдВрджреЗрд╢ рднреЗрдЬрдирд╛ рдЬрд╛рд░реА рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВред

рдореИрдВрдиреЗ рд╕реЙрдХреЗрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдбрд┐рдмрдЧ рдХрд┐рдпрд╛ рдФрд░ рдкрд╛рдпрд╛ рдХрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЙрдХреЗрдЯ рдЕрдиреБрд░реЛрдз рдлрд╝рдВрдХреНрд╢рди рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рддреНрд░реБрдЯрд┐ рддреНрд░реБрдЯрд┐ рдХреЛрдб: 1

рдпрд╣ рдореЗрд░рд╛ рдХреЛрдб

/**
 * Create Express server.
 */
const app = express();


// API endpoint
app.get('/api/test',(req,res)=>{
    res.status(200).send({test:"test"});
});



/**
 * Init socket
 */
const server = require('http').Server(app);
const io = require('socket.io')(server);


io.on('connection', (socket) => {

        // emit message to group
        socket.on('emitMessage', (data, callback) => {
                io.emit('emitMessage', data);
        });
});

рд╕реНрдЯреИрдХ рдУрд╡рд░рдлреНрд▓реЛ рдкрд░ рдпрд╣ рдореЗрд░рд╛ рдкреНрд░рд╢реНрди рд╣реИ https://stackoverflow.com/q/47375814/6786941

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореБрдЭреЗ рд╕рдорд╕реНрдпрд╛ рдорд┐рд▓реА, рдкреИрдХреЗрдЬ express-status-monitor рдпрд╣ рдЧрд▓рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░ рд░рд╣рд╛ рдерд╛ред

рдЗрд╕реЗ рд╣рдЯрд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ, рдФрд░ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛

 // comment these lines, as they making the issue
 // const expressStatusMonitor = require('express-status-monitor'); 
 // app.use(expressStatusMonitor());

рдЕрдВрддрд┐рдо рдХреЛрдб:

let app = require('express')();

// these two lines were making the problem, please comment them. if you want to reproduce the problem enable them again 
// const expressStatusMonitor = require('express-status-monitor');
// app.use(expressStatusMonitor());

let http = require('http').Server(app);
let io = require('socket.io')(http);
let port = process.env.PORT || 3000;

app.get('/', function(req, res){
    res.sendFile(__dirname + '/index.html');
});



app.get('/api/v0/availabilities',(req,res)=>{
    res.status(200).send({test:"test"});
});


io.on('connection', (socket) => {

    // emit message to group
    socket.on('emitMessage', (data) => {
        io.emit('emitMessage', data);
    });
});

http.listen(port, function(){
    console.log('listening on *:' + port);
});

рд╕реНрдЯреИрдХ рдУрд╡рд░рдлреНрд▓реЛ рдкрд░ рдпрд╣ рдореЗрд░рд╛ рдкреНрд░рд╢реНрди рд╣реИ https://stackoverflow.com/q/47375814/6786941

рд╕реНрдЯреИрдХ рдУрд╡рд░рдлреНрд▓реЛ рдкрд░ рдпрд╣ рдореЗрд░рд╛ рдЬрд╡рд╛рдм рд╣реИ https://stackoverflow.com/a/47411701/6786941

рд╕рднреА 2 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореБрдЭреЗ рд╕рдорд╕реНрдпрд╛ рдорд┐рд▓реА, рдкреИрдХреЗрдЬ express-status-monitor рдпрд╣ рдЧрд▓рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░ рд░рд╣рд╛ рдерд╛ред

рдЗрд╕реЗ рд╣рдЯрд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ, рдФрд░ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛

 // comment these lines, as they making the issue
 // const expressStatusMonitor = require('express-status-monitor'); 
 // app.use(expressStatusMonitor());

рдЕрдВрддрд┐рдо рдХреЛрдб:

let app = require('express')();

// these two lines were making the problem, please comment them. if you want to reproduce the problem enable them again 
// const expressStatusMonitor = require('express-status-monitor');
// app.use(expressStatusMonitor());

let http = require('http').Server(app);
let io = require('socket.io')(http);
let port = process.env.PORT || 3000;

app.get('/', function(req, res){
    res.sendFile(__dirname + '/index.html');
});



app.get('/api/v0/availabilities',(req,res)=>{
    res.status(200).send({test:"test"});
});


io.on('connection', (socket) => {

    // emit message to group
    socket.on('emitMessage', (data) => {
        io.emit('emitMessage', data);
    });
});

http.listen(port, function(){
    console.log('listening on *:' + port);
});

рд╕реНрдЯреИрдХ рдУрд╡рд░рдлреНрд▓реЛ рдкрд░ рдпрд╣ рдореЗрд░рд╛ рдкреНрд░рд╢реНрди рд╣реИ https://stackoverflow.com/q/47375814/6786941

рд╕реНрдЯреИрдХ рдУрд╡рд░рдлреНрд▓реЛ рдкрд░ рдпрд╣ рдореЗрд░рд╛ рдЬрд╡рд╛рдм рд╣реИ https://stackoverflow.com/a/47411701/6786941

@almgwary рдЖрдк, рдорд╣реЛрджрдп, рдмрд╣реБрдд рдЕрдЪреНрдЫреЗ рд╣реИрдВред рдореИрдВ рдареАрдХ рдЙрд╕реА рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рдерд╛ред рдореИрдВрдиреЗ рдПрдХреНрд╕рдкреНрд░реЗрд╕рд╕реНрдЯреИрдЯрд╕ рдореЙрдирд┐рдЯрд░ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдФрд░ рдпрд╣ рдПрдХ рдЖрдХрд░реНрд╖рдг рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд┐рдпрд╛! рд╢реБрдХреНрд░рд┐рдпрд╛! рдмрд╣реБрдд рджрд┐рдиреЛрдВ рдХреА рдЦреЛрдЬ рдХреЗ рдмрд╛рдж, рдореИрдВ рдЖрдкрдХреЗ рд╕реБрдЭрд╛рд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЕрдВрддрддрдГ рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред рдЕрдиреЗрдХ рдЕрдиреЗрдХ рдзрдиреНрдпрд╡рд╛рдж!

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

distracteddev picture distracteddev  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

rudijs picture rudijs  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

MichaelJCole picture MichaelJCole  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Aweather picture Aweather  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jloa picture jloa  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ