簡體   English   中英

express和socket.io - 聲明和啟動服務器

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM