How to use ExpressJS and Socket.io on a same port?

前端 未结 2 1552
时光取名叫无心
时光取名叫无心 2020-12-05 00:11

In the third version of ExpressJS express.createServer() changed to express() this changes makes difficult to bind socket.io on a same port. Maybe somebody

相关标签:
2条回答
  • 2020-12-05 01:06

    It's described on the socket.io github page (as @Golo stated in your comment):

    var app = express()
      , server = require('http').createServer(app)
      , io = io.listen(server);
    
    server.listen(80);
    

    This works, I have it running.

    Probably what Golo have forgotten is to change the listen from app.listen(80) to server.listen(80). I've struggled with this too until I realised my stupid mistake.

    0 讨论(0)
  • 2020-12-05 01:12
    var app = require('express')()
      , server = require('http').createServer(app)
      , io = require('socket.io').listen(server)
    
    app.start = app.listen = function(){
      return server.listen.apply(server, arguments)
    }
    
    app.start(8080)
    
    0 讨论(0)
提交回复
热议问题