2018年3月17日土曜日

PHPでChatを作ってみる1

とりあえす。どうしたらいいかわからない。でも言語はPHPでと考えました。


簡単にGoogleで検索してみた感じだと、WebSockets(ウェブソケット)を使うのが良いみたいなことが見つかりました。

WebSocketsって何?
WebSocketコンピュータネットワーク用の通信規格の1つである。ウェブアプリケーションにおいて、双方向通信を実現するための技術規格である。
WebSocketでは、サーバとクライアントが一度コネクションを行った後は、必要な通信を全てそのコネクション上で専用のプロトコルを用いて行う。従来の手法に比べると、新たなコネクションを張ることがなくなる・HTTPコネクションとは異なる軽量プロトコルを使うなどの理由により通信ロスが減る、一つのコネクションで全てのデータ送受信が行えるため同一サーバに接続する他のアプリケーションへの影響が少ないなどのメリットがある。
・・・なんか良さそう。
(本当は、このなんかを正しく理解しないと、仕事には使えないんだけど)


では、(PHPで)Websocketを使うにはどうしたらよいのか?
・・・再びGoogleで検索しました。

どうも、Ratchet を使うのが良さそうです。
http://socketo.me


じゃあ、そのRachetを利用するにはどうしたらよいのでしょうか?

サーバ環境に設定が必要な様です。試したいサーバ環境は、AmazonのEC2です。

Composerをインストールすると楽にできるらしい。


Composer = 指揮者 って何? Dependency Manager for PHP とのこと。
composerとはPHPのパッケージ管理システムである。
なんとなくわかったような、わからないような感じです。

下記のサイトを参考にさせていただき、インストールをしました。
http://blog.toshimaru.net/how-to-use-composer-autoload/

AWSのEC2のインスタンスで動作するLinuxへ、teratermでログインして作業。

コンソールで下記を実行しました。
$ curl -sS https://getcomposer.org/installer | php

下記の様に表示したので、なんか大丈夫そうです。
All settings correct for using Composer
Downloading...
Composer (version 1.6.3) successfully installed to: /home/ec2-user/composer.phar
Use it: php composer.phar

ファイルを所定の場所に異動。(なんの為かよくわかっていません)
$ sudo mv composer.phar /usr/local/bin/composer

$composerを実行すると、案内の内容が表示されました。
やれやれ。


次に、Ratchetをインストール

インストール先が何が正しいのかわからないので、とりあえず、Webサーバのルートディレクトリにratchetというディレクトリを作成し、そこに入れることにしました。

composerを使ってインストールするには、インストール先にcomposer.jsonという
インストールする内容を記述したファイルが必要なので、
インストール先のratchetディレクトリに異動して、vi で下記を入力しました。

{
    "require": {
        "cboden/Ratchet": "0.2.*"
    }
}

viで保存。

コマンドラインで下記を実行
/usr/local/bin/composer install

なにやらいろいろ出てきたけど・・・・
- Installing cboden/ratchet (v0.2.8): Downloading (100%)
とあるので、インストールされたっぽい。

作成したratchetディレクトリの下をみると、いろいろ入っている様子。
# dir
composer.json  composer.lock  vendor

サーバ側の環境はここまで。
メモメモ。

0 件のコメント:

コメントを投稿