パッケージの使い方詳細さてさて、Laravelは今や世界中の開発者に利用される人気フレームワークになったわけですが、その結果として映画のスピンオフのようにLaravelを利用した様々なパッケージが公開されいます。WebSocketsというパッケージが公開されました。WebSocketsは、Laravelに独自のウェブソケットを実装することができるパッケージで、つまりはチャットのようにリアルタイムに情報をやりとりできるようになります。いう記事も公開しているので、この新しいパッケージを実際に試してみることにしました。Websocketsの使い方を紹介します。参考にしてみてくださいね。合わせて読みたいパッケージをインストールするPusherをインストールちょっと奇妙に聞こえるかもしれませんが、まずはPusherを使えるようにしておきましょう。Websocketsを使う方法は、Pusherを置き換える(のっとる)形だからです。そのため、Laravel+Vueでリアルタイム・チャットをつくる(ダウンロード可)の記事を参考にして、pusher/pusher-php-serverやlaravel-echo、pusher-jsなどのインストールを完了させ、さらにビルドもしておいてください。Websocketsの本体をインストールします。beyondcode/laravel-websocketsインストールが完了したら、次のコマンドでマイグレーションを実行してください。migrateマイグレーションが完了するとwebsockets_statistics_entriesというテーブルが作成されることになり、ここにアクセス情報が保存されていきます。つぎに、設定ファイルもコピーして使えるようにしておきましょう。--tag="config"これで、config/websockets.phpが作成されましたので、このファイル内に設定を書き込むことになります。WebsocketsはPusherの設定を利用して接続をしますので、設定するのは、config/broadcasting.php内のpusherの部分です。初期状態では、書かれていないhost、port、schemeを追加してください。Echoにも同じくwsHost、wsPortを追加します。true,});なお、もしウェブソケットの接続データが必要ない場合はdisableStatsをtrueに設定してください。(初期状態では有効になっています。)また、ウェブサイトがHTTPS接続できる場合はencryptedもtrueにする方がいいでしょう。ビルドしてapp.jsを更新します。注意する点なお、私の環境では始め実際にPusherで設定したアクセス情報を使っていましたが、この場合、従来通りPusherへアクセスされてしまう場合があるようでした。そのため、.envは次のようにするといいでしょう。PUSHER_APP_ID=1PUSHER_APP_KEY=laravelWebsocketsPUSHER_APP_SECRET=laravelWebsocketsPUSHER_APP_CLUSTER=ap1ウェブソケットサーバーを起動するでは実際にこの設定で、「Laravel+Vueでリアルタイム・チャットをつくる」で作成したチャットを実行してみます。次のコマンドでウェブソケット・サーバーを開始します。6001...という表示がされて、アクセスを待機していることがわかります。チャットページにアクセスして開発者ツールで読み込み内容を確認してみます。現在はpusher.comではなく指定したホストへアクセスされるようになっています。思い通りうまくいきました!これで完了です。Websocketsにはデバッグ用のダッシュボードも用意されています。アクセスすると次のような表示になりますので、「Connect」ボタンをクリックしてください。すると、次のように様々な情報にアクセスできるようになります。おわりにということで、今回はLaravelパッケージの中からLarave-Websocketsを使ってリアルタイムチャットを実装してみました。サイトの規模が小さい場合は、Pusherの無料プランで十分対応できると思うので、そちらをおすすめしますが、徐々にサイト規模が大きくなってきた場合に自前でウェブソケットを実装する場合は今回のLaravel-Websocketsも選択肢に入ってくるのではないでしょうか。node.jsの方がパフォーマンスは早そうですが、Laravelだけで完結できるのは大きなアドバンテージになるでしょう。みなさんの参考になれば嬉しいです。開発スキルプログラム開発は15年以上。Laravel、Vue.jsをメインとしてPython(機械学習)やElectronの開発もお引き受けしております。過去2度カナダのバンクーバーに滞在していました。開発状況によりましては開発をお待ちいただく可能性がございますが、いつでもご相談は受けさせていただいております。お気軽にご連絡ください!お問い合わせフォーム開発してほしい機能を募集中!MITライセンスで公開します。詳しくはこちらの記事をご覧ください。ぷれりり・プレスリリース掲載無料のプレスリリース・スタンド!播磨孤道(はりまこどう)兵庫周辺のゆったり自転車一人旅の記事を書いていきます。