2

私は koa.js で socket.io を使用しようとしていますが、アプリケーションの一番下に追加して接続することができましたが、今はコントローラー/ルートからイベントを発行し、可能であればリッスンしたいと考えていますserver = require('http').createServer(koa.callback()).listen(port);io = require('socket.io')(server);これを実装する最良の方法は何ですか?

iokoa コンテキストにkoa.context.io = ioandのようなものを追加しようとしましio.on('connection', function(socket){ koa.context.socket = socket });たが、何も機能していません。

よろしくお願いします。

4

2 に答える 2

1

これは取り込みが少し遅れていることを認識しており、独自のモジュールの 1 つを提案するので、少し利己的であると見なされる可能性がありますが、Koa を使用してアプリに追加することで正しい方向に進んでいますv2 ではコンテキストが渡されるので簡単ですが、v1 ではthiskoa ミドルウェアがアプリ インスタンスにバインドされているため、コンテキストを追加できます。

または、この正確なユースケースを支援するモジュールを作成しましたhttps://github.com/mattstyles/koa-socket、現在(そしておそらく永遠に)2つのことを行います。これにより、ソケット リスナー用の koa スタイルのミドルウェアを作成できます。

于 2015-11-21T13:37:24.740 に答える