個人的なプロジェクトの一環として、IRC ボットを作成しています。私の最初の試みは、1 つのメイン クラスですべての作業を行うことでしたが、あまり効率的ではありませんでした。そのため、IRC 部分をボットから分離し、サーバーに接続し、自身を認証し、参加する非常に単純な IRC クライアントを作成することにしました。チャンネルと受信ライン。
次に、IRC クライアントが受信した各行を処理するか、クライアントをスレッドに入れて、行をキューまたはマップに配置します (行の種類によって異なります)。スレッド オプションは、より適切でやりがいがあるようです。
ボットは IRC クライアントが受信した行にアクセスする必要があるため、ボットがアクセスできるパブリック静的キューに行を入れることを考えましたが、C のグローバル変数を思い出しました。このフィールドにアクセスします。public static フィールドを使わずに、IRC クライアントに仕事をさせ、bot がラインでピークに達するようにする方法はありますか?
回線が利用可能になったときにボットに通知されるように、IRC クライアントに同期方式で回線を配信させることを考えました。