JCTCP リファレンス


注:
\x01 : バイナリコード1
String : 任意文字列
# : 任意文字列
qString : 質問文字列
aString : 応答文字列
ACTIONに関しては、チャンネルに対しての物ならAway mark up と
ぶつからないので、互換性維持の為、古い形式もサポートします。

FINGER 情報要求時 NOTICE targetUser :\x01SFINGER\x01
情報応答時 NOTICE requstedUser :\x01RFINGER :String\x01
VERSION 情報要求時 NOTICE tagetUser :\x01SVERSION\x01
情報応答時 NOTICE requestedUser :\x01RVERSION :#:#:#\x01
SOURCE 情報要求時 NOTICE targetUser :\x01SSOURCE\x01
情報応答時 NOTICE requestedUser :\x01RSOURCE :#:#:#\x01
USERINFO 情報要求時 NOTICE targetUser :\x01SUSERINFO\x01
情報応答時 NOTICE requestedUser :\x01RUSERINFO :String\x01
ERRMSG 情報要求時 NOTICE targetUser :\x01SERRMSG :qString\x01
情報応答時 NOTICE requestedUser :\x01RERRMSG :qString:aString\x01
PING 情報要求時 NOTICE targetUser :\x01SPING :qString\x01
情報応答時 NOTICE requestedUser :\x01RPING :qString\x01
TIME 情報要求時 NOTICE targetUser :\x01STIME\x01
情報応答時 NOTICE requestedUser :\x01RTIME :String\x01
JCTCP 情報要求時 NOTICE targetUser :\x01SJCTCP\x01
情報応答時 NOTICE requestedUser :\x01RJCTCP\x01
ACTION 全員配信形 NOTICE channelName :\x01ACTION :String\x01
旧全員配信形 PRIVMSG channelName :\x01ACTION String\x01
個人配信形 NOTICE targetUser :\x01ACTION :String\x01
AWAY 宣言時 NOTICE channelName :\x01SAWAY :String\x01
Whsiper応答時 NOTICE whisperedUser :\x01SAWAY :String\x01
復帰時 NOTICE channelName :\x01RAWAY\x01


AWAYに関しては、基本的にIRCサーバ任せにしない様にします。
宣言時のメッセージはクライアントで保持し、Whisperが来た時に RAWAY とそのメッセージを
返します。こうする事によって、入室時に既在だったメンバーのAWAY状態が、少なくとも
Whisperを飛ばした時点で把握出来る様になります。(通常はRJCTCP受け取り時に自分がawayなら
相手に「Whisper応答時」を送ればOK)
String無しのSAWAYを復帰告知にせず、RAWAYにしたのは、解析時の手間はどちらも同じで
メッセージ無しのAWAY宣言が出来るメリットが増えるからです。
もっともロジックによっては不利になる事も有り得ますが、UI上、メッセージ無しのAWAY宣言を
ガードする手間も省けるので、いずれにせよメリットは有るでしょう。
尚、サーバ負荷が大きい所での使用を前提とするクライアント作りでは、受けとった相手の
AWAYメッセージを個々の参加者クラスに保持し、自前でそのユーザへのWhisperをガード&
メッセージ表示をしちゃう事も可能です。


この記事に関するご意見・ご感想はこちらまで! どしどしお寄せ下さい。

<トピック一覧に戻る>