このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン 次のリビジョン 両方とも次のリビジョン | ||
ratchet:0.4:tutorial [2020/11/16 17:48] y2sunlight [チャットアプリの実行] |
ratchet:0.4:tutorial [2020/11/16 20:10] y2sunlight [WebSocketへの対応] |
||
---|---|---|---|
行 1: | 行 1: | ||
- | > 編集中 | ||
- | |||
====== Ratchet チュートリアル ====== | ====== Ratchet チュートリアル ====== | ||
Version 0.4.3 | Version 0.4.3 | ||
行 227: | 行 225: | ||
アプリケーションが完成したので、実行してみましょう。 | アプリケーションが完成したので、実行してみましょう。 | ||
- | まず、コマンドプロンプトでプロジェクトフォルダに移動してからチャットサーバ ('' | + | まず、コマンドプロンプトでチャットサーバ ('' |
< | < | ||
行 241: | 行 239: | ||
</ | </ | ||
- | この時チャットサーバから以下が出力されます。 | + | この時、チャットサーバから以下のメッセージが出力されます。 |
< | < | ||
New connection! (37) | New connection! (37) | ||
</ | </ | ||
- | さらに、別のコマンドプロンプトから以下のようにTelnetを起動します。 | + | さらに、別のコマンドプロンプトからもTelnetを起動します。 |
< | < | ||
行 252: | 行 251: | ||
</ | </ | ||
- | この時チャットサーバから以下が出力されます。 | + | 上と同じように、チャットサーバから2番目のメッセージが出力されます。 |
< | < | ||
New connection! (37) | New connection! (37) | ||
行 258: | 行 258: | ||
</ | </ | ||
+ | Telnetを起動した一方のコマンドプロンプトから、メッセージ('' | ||
- | Telnetを起動したコマンドプロンプトから、メッセージ( "Hello World!" | + | ここまではTCPレベルのアプローチです。主な機能は MessageComponentInterface に集約されており、イベントハンドリングが主体で、WebSocketAPI はまだ機能していません。 |
- | 他のウィンドウに表示されます。 | + | |
- | ctrl+] でコマンドモードに移行し、quitで終了できます。 | + | |
- | + | ||
- | ここまではTCPレベルのアプローチです。主な機能はMessageComponentInterfaceに集約されており、 | + | |
- | イベントハンドリングが主体で、WebSocketAPIはまだ機能していません。 | + | |
\\ | \\ | ||
===== WebSocketへの対応 ===== | ===== WebSocketへの対応 ===== | ||
- | 基本的なチャットアプリケーションが機能するようになったので、 | ||
- | それをWebブラウザでそれが機能するようにチャットサーバを変更します。 | ||
- | [{Project-Folder}/ | + | 基本的なチャットアプリケーションが機能するようになったので、今度はWebブラウザでそれが機能するようにチャットサーバを変更します。 |
+ | |||
+ | {{fa> | ||
<code php chat-server-ws.php> | <code php chat-server-ws.php> | ||
<?php | <?php | ||
行 292: | 行 288: | ||
</ | </ | ||
- | WsServerを使用すると[[https:// | + | [[http:// |
- | HttpServerは、着信HTTPリクエストの解析を担当します。このクラスの目的は、完全なHTTPヘッダー要求を受信して渡すまでデータをバッファリングすることで、 | + | WebSocket リクエストをアップグレードするためのものです。 |
- | WebSocketリクエストをアップグレードするためのものです。 | + | |
+ | このチャットをテストするために、次のファイルを作ります。(HTMLファイルでも問題ありません) | ||
- | このサーバをテストするために、次のファイルを作ります。(HTMLファイルでも問題ありません) | + | {{fa> |
- | + | ||
- | [{Project-Folder}/ | + | |
<code html client-ws.html> | <code html client-ws.html> | ||
<script type=" | <script type=" | ||
行 314: | 行 308: | ||
- | コマンドプロンプトでチャットサーバ(chat-server-ws.php)を実行します。 | + | コマンドプロンプトでチャットサーバ('' |
< | < | ||
行 320: | 行 314: | ||
</ | </ | ||
- | 2つのブラウザウィンドウを開いて、test-ws.php にアクセスします。 | + | 2つのブラウザウィンドウを開いて |
- | そして、ブラウザの開発ツールを開きデバックコンソールへの次のメッセージを確認して下さい。 | + | |
< | < | ||
行 327: | 行 320: | ||
</ | </ | ||
- | このメッセージが出ていたら、一方のデバックコンソールから次のコードを実行します: | + | このメッセージが出ていたら、一方のブラウザのデバックコンソールから次のコードを実行します: |
< | < | ||
行 334: | 行 327: | ||
この時、他方のデバックコンソールに "Hello World!" | この時、他方のデバックコンソールに "Hello World!" | ||
+ | |||
+ | これで Ratchet のチュートリアル「Hello World!」を終わります。 | ||
+ | |||
\\ | \\ | ||