0
ポート3000で動作するノードアプリケーションを開発しました。私はMEAN Stackを使用しました。 はまた、いくつかのチュートリアルを参照私は、ポートに3001すでに開発済みのノードアプリケーションとsocket.ioを統合する方法
を実行しているsocket.ioチャットアプリケーションを開発してどのように私は/私のMEANスタックアプリにこのチャットアプリケーションを追加統合することができます。どのように同時に2つのサーバー/ポートを実行するのですか?
var express = require('express'),
app = express(),
server = require('http').createServer(app),
io = require('socket.io').listen(server),
nicknames = [];
server.listen(3001);
app.get('/',function(req, res){
res.sendfile(__dirname + '/index.html');
});
io.sockets.on('connection',function(socket){
socket.on('new user', function(data, callback){
if (nicknames.indexOf(data) != -1){
callback(false);
}else {
callback(true);
socket.nickname = data;
nicknames.push(socket.nickname);
updateNicknames();
}
});
function updateNicknames(){
io.sockets.emit('usernames', nicknames);
}
socket.on('send message',function(data){
io.sockets.emit('new message',{msg:data, nick:socket.nickname});
});
socket.on('disconnect',function(data){
if(!socket.nickname) return;
nicknames.splice(nicknames.indexOf(socket.nickname), 1);
updateNicknames();
});
} socket.io
)。
あなたはどちらかだけの同じプロセスに2を組み合わせることができます(ちょうど同じNode.jsのプロセスで両方のサーバーを実行する)か、同じポート3000のWebサーバー上のsocket.ioアプリケーションを実行することができます。 Socket(およびその下にあるwebSockets)は、他のタイプのWebリクエストに使用されるWebサーバーを共有できるように意図的に設計されています。 – jfriend00
両方のアプリケーションを同じポート上で実行しようとしましたが、最初のアプリケーションだけが動作しています。もう1つは、ポートがすでに使用中であることを示しています。どうすればいいですか、私はどこでこれを参照できますか? –
あなたの他のサーバーと同じポートにsocket.io用の新しいサーバーを作成するのではなく、別のサーバーに渡すだけで、socket.ioはそのサーバーを共有します。 – jfriend00