2017-04-13 26 views
1

独自のIRCクライアントで作業し、いくつか質問があります。IRCプロトコルのJOINコマンド

私はチャンネルに参加するとき、私はJOINコマンドを送信した後、IRCサーバーから複数の応答を得ます。このために、彼らが発生します

繰り返して-Server /検証がいつかチャンクで送信することができ入社チャンネル(、原因でユーザーのリストを送信する-Serverチャンネルトピック

を送信-Serverコマンド

を登録しようIRCのメッセージサイズ制限まで)。

最初の質問:そのフローは正しいですか?

2番目の質問:より多くのコマンドが送信される前に、サーバーが必要なすべてを送信することを保証していますか。 (たとえば、チャンネルに参加すると、完全なJOIN応答が完了する前に誰かがPRIVMSGを送信した場合、サーバーはPRIVMSGを送信する前にJOINを終了します)

私は意味があることを望みます。 ありがとう

答えて

0

はい、PRIVMSGのような他のチャンネルイベントの前に必ずサーバーからJOINを取得する必要があります。

0

最初の質問:このフローは正しいですか?

はい。 JOINコマンドの場合、サーバーは次の3つの応答を送信します。

レスポンス1::<UserJID> JOIN :<ChannelName>
レスポンス2::<Domain> <[RPL_TOPIC][1]> <NickName> <ChannelName> :<Topic>
応答3:
:<Domain> <[RPL_NAMREPLY][1]> <NickName> = <ChannelName> : <NameList> :<Domain> <[RPL_ENDOFNAMES][1]> <NickName> <ChannelName> :End of Names list

2番目の質問:私はより多くのコマンドが送信される前に、そのサーバーが必要なすべてのものをお送りいたしますが保証しています。 (私はチャンネルに参加した場合、例えば、誰かが完了する前にPRIVMSGを送信するために起こる応答が完了し、JOIN、サーバはPRIVMSGを送信する前に、JOIN終了します)

はい、私たちは確認することができます。 JOINプロセスを完了する前に、サーバーはそのチャネルにメッセージを送信すべきではありません。

PS:一部のクライアントがJOINコマンド処理を完了するには、一部のクライアントでは1と2だけを処理する必要があります。