PHPでwebsocketが使えるRatchetを入れてみる。
sshで接続。ターミナルから
ssh hoge@hoge.sakura.ne.jp
入ったら、適当なディレクトリにて
curl -sS https://getcomposer.org/installer | php
すると、composer.phar ファイルができるので、それをinstall
./composer.phar install
既にinstall済みだったら、updateしておく。
./composer.phar update
設定方法
以下、http://socketo.me/docs/hello-world の補足
composer.jsonファイルを作る
{ "autoload": { "psr-0": { "MyApp": "src" } }, "require": { "cboden/Ratchet": "0.3.*" } }
/bin/chat-server.phpの、port番号を決めておく。以下は8080にした例
<?php use Ratchet\Server\IoServer; use Ratchet\Http\HttpServer; use Ratchet\WebSocket\WsServer; use MyApp\Chat; require dirname(__DIR__) . '/vendor/autoload.php'; $server = IoServer::factory( new HttpServer( new WsServer( new Chat() ) ), 8080 ); $server->run();
ブラウザ側で表示するファイルに
<script> var conn = new WebSocket('ws://hoge.sakura.ne.jp:8080'); conn.onopen = function(e) { console.log("Connection established!"); }; conn.onmessage = function(e) { console.log(e.data); alert(e.data); }; </script>
いくつかブラウザを立ち上げて、コンソールで
conn.send('Hello World!');
とすれば、他のブラウザでalertがでるのが確認できる。
レンタルサーバでも簡単に設置できたので重宝しそう。
何に使うかって?RaspberryPiでラジコンですよ!
無事完成しました。予想通り、websocketはこういう用途に実に適していました。