[英]express and socket.io - declaration and starting server
我從未理解以下代碼是如何相同的:
代碼1:
var app = require("express")();
var server = require('http').Server(app);
var io = require('socket.io').listen(server);
...
io.use(...);
...
server.listen(3000, function(){});
代碼2:
var app = require("express")().listen(3000);
var io = require("socket.io")(app);
...
io.use(...);
代碼3:
var app = express();
var server = http.createServer(app);
var io = require('socket.io').listen(server);
...
io.use(...);
...
server.listen(3000, function(){});
你能幫我理解這里發生了什么嗎? 並且一種方法優於另一種方法(以及在什么情況下)? 謝謝。
這些片段不相同。 有些是舊版本的express和socket.io,有些是較新版本。 我將使用socket.io文檔中的修改示例。
var express = require('express');
var app = express();
var server = require('http').Server(app);
var io = require('socket.io')(server);
/* Setup Express */
app.get('/', function (req, res) {
...
});
/* Setup Socket.io */
io.on('connection', function (socket) {
...
});
server.listen(3000);
Express現在只公開一個處理程序函數app
,您將其傳遞給http服務器。 Socket.io希望你傳遞一個http服務器來插入它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.