5. WebSocketによるサーバー・クライアント通信の実行例
それでは、完成したアプリケーションを実行してみる。実行する対象のサーバーにはもちろん先ほど作成したLiberty プロファイルを指定する。
サーバーが起動したら、WebブラウザからクライアントのWebページにアクセスしてみよう。初期状態では図5.2のように「切断中」と表示されており、[接続]ボタンをクリックして接続が確立すると図5.3のように表示が「接続中」に変わる。この状態でメッセージを入力して[送信]ボタンを押せば、入力した内容に「Hello」が付いて返信され、その内容が図5.4のように表示されるはずだ。[切断]ボタンをクリックするとソケットをクローズして図5.5のように表示が「切断中」に戻る。
この一連の操作によって、接続や切断、メッセージ受信などのタイミングでそれぞれイベントが発生し、対応するハンドラが呼び出されていることが確認できるだろう。
ちなみに、[接続]ボタンをクリックして接続要求を行ったときのHTTPヘッダーを確認してみると、要求ヘッダーは図5.6、応答ヘッダーは図5.7のようになっており、Upgradeヘッダを利用してHTTPからWebSocketへとプロトコルを切り替えていることが確認できる。