2015-01-07 6 views
5

セールv0.11の新しいリリースに応じて、のonConnectは、config/sockets.jsファイルで廃止予定です。 socket.onイベントを実装できなかったり、サーバー側からソケットイベントをキャッチできませんでした。 実装する方法はありますか? @mikermcneilとしてconfig/bootstrap.jsにコードを更新することにより、作業セイル0.11サーバー側からソケットイベントをキャッチ

が示唆:

module.exports.bootstrap = function(cb) { 
    sails.io.on('connect', function (socket){ 
     socket.on('testE', function(data) { 
      socket.emit('testEvent',{p1:'hehe'}); 
     }); 
    }); 
cb(); 
}; 

答えて

4

チェックアウトここ移行ガイド:https://github.com/balderdashy/sails/blob/master/0.11-migration-guide.md#onconnect-lifecycle-callback

onConnectライフサイクルコールバック

tldr。

onConnectの機能をconfig/sockets.jsから削除します。

onConnectライフサイクルコールバックは推奨されていません。代わりに、新しいソケットが接続されたときに何かをする必要がある場合は、新しく接続されたクライアントから要求を送信します。 onConnectの目的は、パフォーマンスを最適化すること(サーバーとのこの最初の余分な往復を行う必要性を排除するため)であったが、その使用は混乱と競合状態につながる可能性がある。サーバーのラウンドトリップを避けたい場合は、ブートストラップ機能(config/bootstrap.js)のsails.io.on('connect', function (newlyConnectedSocket){})に直接ハンドラーをバインドすることができます。ただし、これはお勧めできません。 真のの生産上の問題がある場合を除いて、「オン接続」ロジック(つまり、ソケットが接続された後にクライアントからの最初の要求を送信する)に上記の戦略を使用する必要があります。ソケットリクエストは軽量なので、アプリケーションに目に見えるオーバーヘッドが加わることはなく、コードをより予測可能にするのに役立ちます。

+1

私は前にこの文書を読んでいましたが、この方法はお勧めできませんでしたので集中しませんでした。私は上記の更新された質問のようにbootstrap.jsにコードを追加しました:)今、その作業、ありがとう。 –

関連する問題