2.3 メッセージ
サーバとクライアントは互いにメッセージを送り合い、その応答が発生することもあればしないこともあります。メッセージに有効なコマンドが含まれている場合、後の章で説明するように、クライアントは指定されたとおりの返答を期待すべきですが、返答を永遠に待つことはお勧めできません。クライアントからサーバ、サーバからサーバへの通信は、本質的に非同期です。
各 IRC メッセージは、接頭辞(オプション)、コマンド、コマンドパラメータ(最大15個)の最大3つの主要部分から構成されることができます。接頭辞、コマンド、およびすべてのパラメータは、それぞれ1つの ASCII スペース文字(0x20
)で区切られます。
接頭辞の存在は、先頭の ASCII コロン文字(:
、0x3b
)1つで示され、これはメッセージ自体の最初の文字でなければなりません。コロンと接頭辞の間にギャップ(空白)を入れてはいけません。接頭辞は、サーバがメッセージの本当の出所を示すために使われます。接頭辞がない場合、そのメッセージは受信したコネクションから発信されたものとみなされます。クライアントはメッセージを送るときに接頭辞を使うべきではありません。もし使うなら、有効な接頭辞はそのクライアントに関連付けられた登録済みのニックネームだけです。
コマンドは、有効な IRC コマンドか、ASCII テキストで表現された3桁の数字でなければなりません。
IRC メッセージは常に CR-LF(キャリッジリターン-ラインフィード)のペアで終了する文字の行であり、これらのメッセージは最後の CR-LF を含むすべての文字をカウントして512文字を超えないものとします。従って、コマンドとそのパラメータには最大510文字が許されます。メッセージ行の継続については規定されていません。現在の実装の詳細については、6 章 を参照してください。