2016-08-18 2 views
0

セイルソケットの作業を数日で確認していますが、セイルプロジェクトで作業することはできません。セイルソケットが使えません

私はイベントと呼ばれるモデルを持っています。クライアント側のJavaScript

var socket = io.socket; 
    socket.on('connect',function socketConnected(){ 
    console.log("connected"); 
    socket.get('/events/getData',function getEvents(events){ 
     addEvents(events); 
    }); 
    socket.on('events',function eventFound(eventData){ 
     console.log('something happend'); 
     addEvents(eventData); 
    }); 
    }); 

とサーバー側にあるイベントコントローラ上で

'create': function(req,res){ 
    var eventsData = u.getParams(req); 
    Events.create(eventsData,function created(err,createdEvent){ 
     Events.publishCreate(createdEvent); 
     console.log("created"); 
     return res.send(200); 
    }); 
    }, 
    'getData': function(req, res) { 
    Events.find().exec(function foundEvent(err, event) { 
     if (err) return next(err); 

     Events.subscribe(req.socket, event); 

     res.send(event); 
    }); 

だから、私は何を期待されている、私はhttp://localhost:1337/events/createにイベントオブジェクトをPOST

"socket.on('events',function eventFound(eventData){" 

は、トリガー、右をしたでしょうか?私はちょうどそれがトリガすることができません:(私は何とかこのソケットの概念を誤解することを確信しているので、私は?これで間違ってやった。特定のモデルのアップデート/削除インスタンス

答えて

0

だから結局、私は

を追加されたいと思ったものを持っています
Events.watch(req) 
のgetData関数の

、右作成機能で

Events.publishCreate(createdEvent); 

sails.sockets.blast(createdEvent); 

を追加します。

0

.subscribe()購読ものがあります。すべての変更は、あなたが新しいモデルインスタンスを監視する場合は、代わりに.watch()を使用する必要があります。接続ソケットが通知されます、それらの特定のモデルインスタンスに行われた。だから、代わりに

Events.subscribe(req.socket, event); 

ているのであれば、あなたは書くべき

Events.watch(req.socket); 

また、構文はSockets.jsのバージョンによって異なります。v0.12ではソケットにいくつかの変更が加えられています。あなたは(あなたがsails -vでコマンドラインから確認することができます)以降のv0.12を使用したりしている場合は、正しい構文はここ

Events.watch(req); 

になり、関連するドキュメントへのリンクです:

.subscribe()http://sailsjs.org/documentation/reference/web-sockets/resourceful-pub-sub/subscribe

.watch()http://sailsjs.org/documentation/reference/web-sockets/resourceful-pub-sub/watch

+0

はい、私は同じことをやってみましたが、最終的にはcreate controllerでsails.sockets.blast(createdEvent)を追加しました。とにかくあなたの親切な返答と説明のために感謝します。 – campin

関連する問題