Na socket.io strony, Get Started: Chat application
, znajduje się tutaj.http.createServer (app) v http.Server (app)
http://socket.io/get-started/chat/
tamjest ten kod:
var app = require('express')();
var http = require('http').Server(app);
które mogłyby być przepisywane trochę jaśniej tak:
var express = require('express');
var http = require('http');
var app = express();
var server = http.Server(app);
socket.io examp le używa http.Server() do utworzenia serwera. Mimo, że wyrażają docs dla app.listen() pokazują przykład, w którym serwer jest tworzony przy użyciu http.createServer(app)
:
app.listen()
Bind i nasłuchiwać połączeń na danym hoście i portu. Ta metoda jest identyczna z http.Server # węzła # listen().var express = require('express'); var app = express(); app.listen(3000);
Aplikacja powrócił ekspresowym() jest w rzeczywistości Funkcja JavaScript, zaprojektowany, aby być przekazywane do serwerów HTTP węzła jako wywołania zwrotnego do obsługi żądań. Pozwala to zapewnić zarówno HTTP i HTTPS wersje aplikacja z tym samym kodzie łatwo, ponieważ aplikacja nie dziedziczy z nich (jest to po prostu callback):
var express = require('express'); var https = require('https'); var http = require('http'); var app = express(); http.createServer(app).listen(80); https.createServer(options, app).listen(443);
app.listen() metoda jest metodą wygoda dla następujących (jeśli chcesz użyć protokołu HTTPS lub dostarczyć zarówno użyć techniki powyżej):
app.listen = function(){ var server = http.createServer(this); return server.listen.apply(server, arguments); };
Jaka jest różnica między http.createServer(app)
i http.Server(app)
?? Dokumenty http nie są pomocne.
OK, wolałbym wpisać Server() zamiast createServer(), więc to właśnie zrobię. Dodatkowo zapiszę wywołanie funkcji. Dzięki. – 7stud