2016-09-06 6 views
-1

私はNode.jsのWebとsocket.ioサーバーをどのように整理できますか?

について質問があり、それは、複数のserver.jsファイルに

等を有していてすることは可能です:あなたは一つの「メイン」server.js別のディレクトリへのルートあなたを持っているし、別のサーバがあります.js socket.ioやそのようなものを扱う?

私はWebSocketの者とのゲームを構築したいとゲームのページへのルートあなたを1 server.jsを持ちたいし、「ゲームのページ」上で、私はそれを接続したい:より具体的には

「別の」server.jsに変更し、websocket、loginなどのようなものを処理します。または私は私がmodules.export機能について聞いた

1 server.jsファイルのすべてを持っている必要がありますが、私はこれは私が探しています何であるとは思わないでください。

+0

したがって、明確にするには、挑戦する?または別のファイルを開始する1つのファイルですか? – DrakaSAN

+0

2つのサーバープロセスが相互に作用したい場合 –

+1

init.js、app.jsなどの名前を付けることができます。必要なものはserver.jsという名前にすることができます。 socket.jsのようなファイルの使用方法に応じてファイルの名前を与えることをお勧めします –

答えて

0

の両方が可能です。私が正しく理解すれば、Webサーバーとsocket.ioサーバーが必要です。

あなたは、同じファイルの両方を行うことができ、次のいずれか

'use strict'; 
const express = require('express'), 
    socket= require('socket.io'), 
    app = express(), 
    io = socket(); 

//... 

app.listen(80); 
io.listen(12345); 

を異なるファイルで:

web.js:

'use strict'; 
const express = require('express'), 
    app = express(); 

//... 

app.listen(80); 

io.js:

'use strict'; 
const socket= require('socket.io'), 
    io = socket(); 

//... 

io.listen(12345); 
+0

ありがとう、それは私が聞きたかったものです。もう1つの質問もし私が2つのファイルを作成したいのであれば、どちらも同じフォルダになければなりませんか? –

+0

必要ではありません、彼らは全く別のプロジェクトになることができます。 – DrakaSAN

+0

おかげさまで、オンラインで何かを見つけることができませんでした。 –

0

あなたの質問に答えるために。あなたは、複数のプロセスが異なるものを聞くことを望みます。はい、あなたはそれを行うことができます。あるプロセスがポート80でリッスンしてWebトラフィックを処理し、もう1つのプロセスが別のポートでリッスンすることをお勧めします。

あなたはどちらかということだけでデータベースを共有するか、1つのプロジェクト内の2つの異なるポートで2台の異なるサーバを起動することができます2つの異なる「プロジェクト」を有することで行うことができます。

2つの「サーバー」の責任が非常に異なることが分かっている場合(ゲームデータなどを扱う1台のサーバーや、スコアの高い他の標準的なWebトラフィックなど)、私はおそらくそれを分割します開始時にアウト。

関連する問題