webSocket 后端中 var http = require('http').Server(app);这个写法是什么意思?

const express = require("express")
const app = express()
app.use(express.static(__dirname + '/public'))

var http = require('http').Server(app);
http.listen(4005)
var io = require('socket.io')(http);
io.on('connection', function (socket) {
    socket.on('cTos', data => {
        io.sockets.emit('sToC', data)
    })
});

其他的地方都能看懂,就是var http = require('http').Server(app);这段代码是什么意思呢?尤其是这个.Server(app)代表什么呢?

require('http')是node的http模块,.server是http模块的一个函数,创建一个http服务