Using Socket.Io with Adonis3.0

Since inbuilt support for web sockets is missing in AdonisJs, using socket.io with AdonisJs is extremely simple.

Setting Up Socket.Io #

Using Existing Http connection is very common when starting a websocket server using socket.io. Let’s start by creating a socket.js file inside app/Http directory.

app/Http/socket.js #

'use strict'

module.exports = function (server) {

  const io = use('socket.io')(server)

  io.on('connection', function (socket) {
    console.log('connection created >>>')
  })

}

This file exposes a function which accepts the HTTP server instance and using that instance you can create a web socket connection. Now you can approach socket.io the way you want.

Next you need to import this file inside bootstrap/http.js file. Just before the Server.listen import this file.

bootstrap/http.js #


use('App/Http/socket')(Server.getInstance())

Server.listen(Env.get('HOST'), Env.get('PORT'))
 
188
Kudos
 
188
Kudos

Now read this

Adonis 3.0 dev release

Adonis 3.0 is going to be the most stable release so far. In past few months, we have gathered plenty of feedback, solved a handful of issues and progressively made Adonis the most practical framework in the community. The newer version... Continue →