[解決済み] Express.js - app.listen vs server.listen
2022-03-17 15:33:26
質問
これは非常に基本的な質問かもしれませんが、私は単にそれを得ることはありません。を使用してアプリを作成することの違いは何ですか? Express.js を起動し、例えばポート1234でリスニングしているアプリを起動します。
var express = require('express');
var app = express();
//app.configure, app.use etc
app.listen(1234);
を追加し、httpサーバーを追加します。
var express = require('express');
var http = require('http');
var app = express();
var server = http.createServer(app);
//app.configure, app.use etc
server.listen(1234);
何が違うの?
に移動した場合
http://localhost:1234
このように、同じ出力が得られます。
解決方法は?
2 番目の方法(Express に HTTP サーバを作成させるのではなく、自分で作成する)は、HTTP サーバを再利用したい場合、たとえば、次のように実行するのに便利です。
socket.io
を同じHTTPサーバーインスタンス内で使用することができます。
var express = require('express');
var app = express();
var server = require('http').createServer(app);
var io = require('socket.io').listen(server);
...
server.listen(1234);
しかし
app.listen()
もHTTPサーバーのインスタンスを返すので、少し書き換えれば、自分でHTTPサーバーを作らなくても、同じようなことが実現できます。
var express = require('express');
var app = express();
// app.use/routes/etc...
var server = app.listen(3033);
var io = require('socket.io').listen(server);
io.sockets.on('connection', function (socket) {
...
});
関連
-
[解決済み] エラー: nodejs の get 呼び出しで getaddrinfo ENOTFOUND が発生しました。
-
[解決済み】Express.js req.bodyが未定義です。
-
[解決済み】MongooseでEnumを作成し使用する方法
-
[解決済み】npm 5で作成されたpackage-lock.jsonファイルはコミットするのでしょうか?
-
[解決済み] EventEmitter のメモリリークの可能性が検出された
-
[解決済み] nodeファイルの先頭にある"/usr/bin/env node "は、具体的には何をするのですか?
-
[解決済み] ExpressJS : res.redirect()が期待通りに動作しない?
-
[解決済み] Node.js上のExpress.jsでGET(クエリ文字列)変数を取得する方法とは?
-
[解決済み] express.js で HTTPS を有効にする
-
[解決済み] Express.jsとは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Nodejs: Errorを解決する方法。ENOENT: そのようなファイルまたはディレクトリがありません
-
[解決済み】ExpressJSとMeteorJSの比較【終了しました
-
[解決済み】NPMインストールエラー:解析中の予期せぬJSON入力の終了 '...nt-webpack-plugin": "0'' 付近。
-
[解決済み] のエラーが発生しました。これはおそらくnpmの問題ではありません。上に追加のログ出力があると思われます
-
[解決済み] ランタイム 'node' が PATH で見つからない - Visual Studio Code と Node.js
-
[解決済み] node.jsのセットアップウィザードが途中で終了してしまう
-
[解決済み] ノードマータ予期せぬフィールド
-
[解決済み] NPMが同じエラーで固まる EISDIR: ディレクトリに対する不正な操作、エラーで読み込み (ネイティブ)
-
[解決済み] DynamoDBで一括削除するにはどうしたらいいですか?
-
[解決済み] "app.use(express.cookieSession())" に "secret" オプションが必要です。