私は約100ユーザーのクローズドコミュニティサイト(PHPベース)で作業しています。実装した機能の1つは、ユーザーがログインしたときにサイトのフロントページで「チャットルーム」として機能するajaxシャウトボックスです。チームはコラボレーションにプライベートircサーバーを使用しており、1つのチャネルでクイズボットを実行しています。私たちは、私たちのサイトを介してircに接続するためのWebインターフェイスを作成して、私たちのサイトのすべての(技術に精通していない)ユーザーが私たちのircクイズに参加できるようにするというアイデアを思いつきました。
今、私はIRCの専門家ではありませんが、いくつかのPHP-IRCチュートリアルを調べました。IRCに接続するには、PHPが開いた接続を維持する必要があるようです。コメットスタイルのトリックを実行し、タイムアウトせずにPHPスクリプトを実行させます。ただし、これは、ユーザーがページから移動したり、タブを閉じたりすると、そのphp実行の制御が失われることを意味します。これが発生した場合に接続を停止する方法を考え出すことはできますが、それでも、ユーザーがチャットルームに戻った場合は、ircに再接続する必要があります。
私たちが達成したいのは、ユーザーがサイトにログインしていなくても、ユーザーがircサーバーに永続的に接続できるようにする方法です。開発チームはすべて、サーバーの1つにシェルアカウントを持っており、screenとirssiを使用して接続を維持しています。常にircに接続されているシェルアカウントを介してphpスクリプトをircに接続することはどういうわけか可能であると思います。ユーザー数が限られているため、すべてのユーザーにシェルアカウントを設定することは問題ありませんが、欠落しているリンク(何らかの方法でphpアクセスを許可するコマンドラインircクライアント)をまだ把握していません。
誰か提案がありますか?