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はこういう用途に実に適していました。
