Socket.IO
socket.io-php-emitter 0.7.0が動作しない問題
2016年09月16日時点で rase/socket.io-php-emitter 0.7.0 は2年ほどメンテナンスされておらず、互換性の問題があり emit しても動作しません。
Redis のチャンネル名と msgpack のフォーマットが変更されたことが原因のようです。
socket.io-redis 1.0.0以上を使う場合は、有志の方が作成した ashiina/socket.io-emitter の0.8.0以上を使いましょう。
尚、socket.io-redis 0.2.0 は手元で試していないので分かりません。
修正内容
composer.json (php)
{ "name": "sample-client", "type": "project", "require": { "ashiina/socket.io-emitter": "^0.8.0" } }
- 修正前:
"rase/socket.io-emitter": "^0.7.0"
- 修正後:
"ashiina/socket.io-emitter": "^0.8.0"
package.js (nodejs)
{ "name": "sample-server", "main": "index.js", "dependencies": { "express": "^4.10.2", "socket.io": "^1.4.8", "socket.io-redis": "^1.0.0" } }