2016-04-19 24 views
0

私は、ノードLaravelとRedisを使ってリアルタイムチャットを行うlaravelプロジェクトを持っています。私はチャットから私のメッセージデータベース(MySql)にデータを保存する方法が失われていますが、多くの未解決の問題を抱えています。私はあなたがlaracastでイベントをブロードキャストするためにRedisを使うことができ、MongoDBを使用しているこのyoutubeビデオはソケットの保存方法について明確な答えを見つけることができませんでした。私はソケットの外でajaxリクエストを送信する必要がありますか?Socket.ioノードLaravel Redisとデータベースへのチャットメッセージの保存

ここで私はHttpRequestをテストしようとしました。おそらく、私のLaravel Routeへの投稿要求を介してデータを送信することがありますか?

誰でもアドバイスを提供できますか?

var app = require('express')(); 
var server = require('http').Server(app); 
var io = require('socket.io')(server); 

server.listen(3000, function(){ 
    console.log('listening on *:3000'); 
}); 

console.log('chat has booted...'); 

io.on('connection', function(socket){ 
    socket.on('join', function (data) { 
     socket.userId = data.user_id; 
     socket.userName = data.user_name; 
     socket.class_group = data.class_group; 
     console.log('User ' + socket.userName + ' is now available'); 
    }); 

    //notify connected users availability 

    socket.on('notify', function (notice) { 
     console.log(notice + ' from' + ' user ' + socket.userName); 
     io.emit('receive note.' + notice[0], 'hello'); 
    }) 

    socket.on('subscribe', function (room) { 
     console.log('joining room', room); 
     socket.join(room); 
    }) 

    socket.on('send', function(data){ 
     console.log(socket.userName + ': ' + data.message + ' to room' + '[' + data.room + ']'); 
      io.to(data.room).emit('message', data); 
     var xhr = new XMLHttpRequest(); 
     xhr.open('GET', "http://google.com", true); //Here I tried to make a test HttpRequest, maybe there is someway to send the data over a post request to my Laravel Route? 
    }); 
    socket.on('disconnect', function(){ 
     console.log('user disconnected'); 
    }); 
}); 
+1

申し訳ありませんが、人々はあなたが提供されたリンクにアクセスするために支払わなければなりません。あなたはLaravelにメッセージを保存しようとしていますか? –

+0

ああ私はそれを忘れてしまった。はい私は、メッセージが送信されたときに私のデータベースにメッセージを保存できるようにしたい。私は別々のアヤックスリクエストを作ることを考えていましたが、これを行うためのより良い方法があるはずです。 –

答えて

0

あなたが投稿したスクリプトは、サーバー側で実行されるNode.jsスクリプトです。あなたはMongoDBのドライバを使用することができるのMongoDBに保存するために

https://github.com/mongodb/node-mongodb-native

関連する問題