0
現在、セイル+アングルウェブアプリを作成しようとしています。 私はすでに(このチュートリアルに基づいて:https://github.com/balderdashy/activity-overlord-2-previewに基づいて)働いているユーザー認証システムを持っています。私はwebsocketを使用して非常に簡単なチャットを統合しようとしています。セイルズの認証されたユーザーをwebsocketのユーザーにリンクします。
私の問題は、websocketの「ユーザー」を認証済みのユーザーにリンクすることです。
認証されたユーザーがメッセージを書き込むとき、私はそのメッセージをデータとして送信しますが、現在のユーザーのIDは送信しないため、このIDをセールのコントローラから取得したいと考えています。
これは私の実際の帆chatControllerです:
module.exports = {
addmsg:function (req,res) {
var data_from_client = req.params.all();
if(req.isSocket && req.method === 'GET'){
// will be used later
}
else if(req.isSocket && req.method === 'POST'){
var socketId = sails.sockets.getId(req);
/* Chat.create(data_from_client)
.exec(function(error,data_from_client){
console.log(data_from_client);
Chat.publishCreate({message : data_from_client.message , user:currentuser});
}); */
}
else if(req.isSocket){
console.log('User subscribed to ' + req.socket.id);
}
}
}
、これは私の角度のコントローラー
io.socket.get('http://localhost:1337/chat/addmsg');
$scope.sendMsg = function(){
io.socket.post('http://localhost:1337/chat/addmsg',{message: $scope.chatMessage});
};