最も単純なチャット ルームを作成するための socket.io の「ハウツー」はたくさんありますが、より高度なチャット ルームでの使用方法を示すものは何も見つかりませんでした。
以下の特徴を持つチャットシステムを (php/mysql/ajax を使用して) ゼロから作成しました。
- 高度な会員管理(ログイン、アバター、個人情報、専用の疑似保存など)
- ユーザーは既存のチャットルームに参加するか、新しいチャットルームを作成できます
- 各パブリックチャットルーム内にプライベートルームを作成して、誰とでもプライベートに話す可能性
- 疑似アドレスおよび/またはIPアドレスに従ってメンバーを追放することにより、各チャットルームを管理およびモデレートする可能性、とりわけ特定のメッセージを削除する可能性
- 等...
問題は、私が作成したシステムはあまりスケーラブルではないということです。オンラインのユーザーが多すぎるとサーバーをクラッシュさせる恐れのある短いポーリング手法を使用しているためです。どうやら、socket.io を使用するとその問題は解決しますが、サーバー側とクライアント側の両方で a から Z までの javascript を使用することを意味します (私は javascript 開発者ではなく、javascript ユーザーです)。
私は新しいことを学ぶことに問題はありませんが、チャットにsocket.ioを使用する方法を示すWeb上の大量のチュートリアルは、非常に最小限のもの(接続、書き込み、読み取り、それだけ)に限定されています。これは最初は問題ありませんが、より野心的なプロジェクトにはあまり役に立ちません。
また、socket.io を使用すると、データベースが見えなくなりますが、それに応じてシステムを再考する方法 (ユーザーとその個人情報を永続的に保存し、メッセージ履歴を取得し、以前のすべてのメッセージをフィルタリングし、15 個の以前のメッセージを表示する)ユーザーが自分自身を接続し、プライベート ルームからメインのパブリック ルームに行ったり来たりしながら、各ルームで期待していた以前のすべてのメッセージにアクセスできる場合など)。データベースがなければ、紙の上でさえ、これらすべてを達成する方法を理解できず、これについてはどこにも何も見つかりませんでした。
私のphp高度なチャットルームの既存のsoket.ioバージョンが見つかるとは思っていません。それは私が探しているものではありません。socket.ioを使用して上記の機能を備えたシステムを作成するために必要なすべての背景を提供する包括的なチュートリアル(無料または無料)を探しています。
2 日間ネットを検索しましたが、最も単純なチャット システムを超える方法がまだわかりません。何かを書いて、それをすべてのユーザーのブラウザにプッシュして読んでもらう方法を知っています。きれいだけど、さてどうする?
参考文献やアドバイスはありますか?
ありがとうございます(そして私の下手な英語で申し訳ありません)。
PS: "socket.io" と "tutorials" タグを使用しようとしましたが、それらが存在しても、何らかの理由で使用することはできません...