/ / Sails.js - sailsソケットの設定方法は? - javascript、node.js、ソケット、socket.io、sails.js

Sails.js - セイルソケットの設定を設定するには? - javascript、node.js、sockets、socket.io、sails.js

私は昨日ソケット、socket.ioとセールを勉強しました、そして、私は「かなり失くしました。私は今までにそれらを使ったことがありません」と言わなければなりません。私は理解したと思ったが、私はもうわからない。

私は自分の仕事に基づいています http://socket.io/get-started/chat/。私は "Sails.js"フレームワークを使って作業しています。これはソケットなどを扱うための独自のメソッドを追加しています。

config/sockets.js 私たちは onConnect そして onDisconnect メソッド見る https://github.com/balderdashy/sails-docs/blob/master/reference/sails.config/sails.config.sockets.md と(ソースコード) https://gist.github.com/Vadorequest/568afc14294f1448ab55

sailsとsocket.ioを比較しましょう。このコードを見てみましょう。

io.on("connection", function(socket){
console.log("a user connected");
socket.on("disconnect", function(){
console.log("user disconnected");
});
});

socket.ioが開いているとき(接続)は、定義します。 listeners 好きな socket.on("disconnect") クライアントまたはサーバーからのemmitedリクエストを待っています。 socket.emit 方法。

私が考えたのは帆 onConnect socket.ioと同じです。 io.on(connection)。それから帆 onDisconnect methodはと同等です socket.on("disconnect")、内部 io.on(connection)これはショートカットのようなもので、この特定のイベントを処理してその標準を尊重するための適切な方法です( on)。

しかし、私は自分のコードをすでにsocket.ioとsailsを使って作業していて、彼は私が「間違っていて、他のリスナーの中にリスナーを定義することは(少なくとも)厄介な混乱を招く」ことを教えてくれました。

セイルソケットの設定方法を誤解したかどうかを知りたいのですが。

間違っていたら、泣いても乗り越えられます。

回答:

回答№1の場合は3

私の第一印象は実際には正しかったので、セイルは socket.io 私たちにとっての論理、これら二つのコードは同等で、最初のものは socket.io そして2番目はSailsを使う config/sockets.js 方法:

// Socket.io way
io.on("connection", function(socket){
socket.on("disconnect", function(){
console.log("user disconnected");
});
});

// Sails way (config/sockets.js), hide the socket.io logic. (Facade design pattern)
module.exports.sockets = {
onDisconnect: function(session, socket) {
console.log("user disconnected");
}
}

同じように、帆 onConnect methodはと同等です

io.on("connection", function(socket){
socket.on("connect", function() {
console.log("user connected");
});
});