私はライブ チャット システムを実行する必要があります (複数のユーザー チャネル、ユーザー権限があり、サイトに含まれ、そのデータベースのアカウントを使用する必要があります)。このソリューションを考えました: 1 秒、ロング ポーリングなどの事前定義された時間での ajax リクエストirc.
長所と短所は次のとおりです。
AJAX の利点:
- 実装が簡単
- サイト ユーザーの権限を確認し、権限を付与し、チャネルを設定し、データベースから必要なものすべてにアクセスします。
短所:
- デフォルトでラグを挿入
- 貧弱なサーバーを殺します
- 指定したページのみ利用可能(外部サイトクライアントは存在しない)
ロングポーリング:
- サーバーを殺さない
ラグが少ない
指定したページのみ利用可能(外部サイトクライアントは存在しない)
- 実装が難しい
IRC:
- サーバーをフラッディングしません
- ラグなし
ユーザーはクライアントを設定し、外部サイトからチャットにアクセスできます
データベースと通信する方法がわからないので、チャネルを作成し、データに従って権限を与えることができます
複数の ajax リクエストがサーバーにフラッディングするため、使用できません。では、ロングポーリングと IRC のどちらを使うのが良いと思いますか?
ポーリングが長い場合は、良い参考文献を教えてください (過去に ape - ape-project.org を使用しましたが、その安定性に失望しました)。
IRC である場合、私のデータベース (mysql) への接続を作成し、新しくログインしたユーザーを目的のチャネルに入れる方法を示すリファレンスを参照していただけますか? たとえば、私のデータベースに名前のようなエントリがある場合: Gogu、職業: キラー; Gogu が接続したら、彼を「Killers」チャンネルに入れる必要があります。