PHPでWebSocketを使ったリアルタイムチャットを作る

PHPでWebSocketをやろうとして調べてみると引っかかるページがここ。
さくらのVPSとPHPでWebSocketをサクっと勉強してみる – demouth::blog
でもChrome(ver.18)だと動かない。Safari(ver.5.1)では動く。
なぜ??

よくよく調べてみると2012年1月現在のWebSocketの仕様は「RFC 6455」というらしい。
上のサイトは「draft76」時点のソースで、Chromeでは既に使えなくなってる。
webSocketのPHP実現について | OKWave
ここの回答者のConnection.phpをありがたく頂戴して無事動作確認。
ちゃんとChrome⇔Safari間でもチャットできてる。

今回はlocalhostで良いのでnicokaiser/php-websocketから落としてきたソースは特に修正せず
Connection.phpだけ置き換えてそのまま使いました。
serverフォルダ内のserver.phpをコマンドプロンプトから”php パス\server.php”で実行して
clientフォルダ内のindex.htmlをダブルクリックする(ChromeまたはSafariで開く)だけ。
ステータスがonlineになってたら成功。これで1文字も書かずにWebSocketチャットの完成。


とか書いてて今更気付いたけど最初に紹介したサイトに対応版のリンクが小さく載ってる。
PHPでWebSocket – demouth::blog
去年見たときはなかったのに。前に見たのが災いして見落としてました。。
……と思ったけど動かない。あれ?
まぁいいや。適当にしか試してないのでまたいつか。


カテゴリー: 未分類 パーマリンク