2

学習演習として、IRCネットワーク上のチャネルに接続するPythonプログラムを作成しているので、チャネル内のメッセージをstdoutに出力できます。Twistedやネットからの既存のボットコードのようなものを使用するのではなく、非同期を使用してプロトコルメッセージを手動で送信しています。これも、その方法でより便利な学習体験です。

JOINコマンドとUSERコマンドを非常にうまく送信でき、必要に応じてPING/PONGすることができます。ただし、ポート6667へのソケットを開くと、いくつかのメッセージが表示されます。

NOTICE AUTH :*** Looking up your hostname...
NOTICE AUTH :*** Checking ident
NOTICE AUTH :*** Found your hostname
NOTICE AUTH :*** No identd (auth) response

JOIN/USERコマンドをまだ送信していない場合でも。

では、この通知の最初のシーケンスはどこかで指定されていますか?私が見る限り、RFCは、クライアントがJOINコマンドを送信する前に特に何が発生するかを指定していません。また、JOINコマンドを送信する前に、これらの通知の受信を待つかどうかもわかりませんでした。すべての通知を受け取ったことをどのように検出しますか?

4

1 に答える 1

4

これを行うためのRFC要件はありません。これは、実際のサーバーが行う一般的なことです。それらが単純な古いNOTICEコマンド(つまり単なるメッセージ)であることを確認してください。それらを疑似ユーザー「AUTH」に送信されたメッセージとして扱うだけです(サーバーにはまだ適切な名前がないため)。それらを待つ必要はなく、サーバーはそれらを送信する必要はありません。

于 2010-01-27T20:16:34.187 に答える