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"
  }
}

参考情報