var http = require("http")
var express = require('express')
var app = express( )
var server = http.createServer(app)
var io = require('socket.io').listen(server)
这里向http.createServer()传入参数app该怎么解释啊,看了官网还是没明白。http的createServer
是从net类继承的吧,看了net类的createServer还没明白这里的传参什么含义。
var io = require('socket.io').listen(server)这里的listen(server)又是什么含义?
http.createServer
时传入的参数实际上就是一个给http
的request
监听事件注册的一个回调函数,大致意思可以理解为,当http
模块接受到一个request
(请求)时,交给app(express实例)处理。listen
其实也和上一个地方是差不多的意思,相当于是在用之前创建的服务器为基础套了一个io操作的壳,内部request和response的处理就是用的server。