April 23, 2013

FuelPHP x Ratchet x Nginxでコネクションが勝手に切れる

FuelPHP x Ratchet x Nginxな環境で、WebSocketのコネクションを張ったまま何も操作せずにブラウザを放置すると、接続が勝手に切れる現象が発生しました。

Macの Chrome / Firefox / Safari で同じ現象を確認しています。

これはFuelPHP x Ratchetというより、Nginxのプロキシ周りが怪しい気がしていますが(ポート番号直の時にこの現象は出ていなかった。はず。。。)、Nginxのkeep alive関係とかをググってもピンとくる解決策は今のところ見つかっていません。

なので暫定的に、30秒ごとにpingを送信して回避するようにしました。
https://github.com/mp-php/fuel-ratchet-samples/commit/dbbab237165a41bdad72915e8a4ddf773279bc54

とりあえず、接続は維持されるようになりました。

No comments:

Post a Comment