気になった部分だけ...

8.7 Instant Messages

Instant Messageをおくる

 いったん、クライアントとクライアント間のセッションを Switchboard Server によって確立すると、それらの間でのセッションは次のように行われる:

C: MSG TrID [U | N | A] Length\r\nMessage
S: NAK TrID
S: ACK TrID

U, N, A はそれぞれ Unacknowledged, Negative-Acknowledgement-Only, and Acknowledgement の delivery acknowledgement modes に対応する。
この値により(あるいは未指定にすることにより)、NAK か ACK が Switchboard Server から client に送られる。

Unacknowledged modeの場合、Switchboard Server はメッセージが無事届けられたかどうか、送信クライアントに返信しない。

Negative-Acknowledgement-Only modeの場合、Switchboard Server はメッセージが受信クライアントに届かなかった場合のみ、送信クライアントに返信する。

Acknowledgement mode はインプリメントされていない。

Length は Message パラメータの byte 数である。
Message は以下に記述されるような実際のメッセージである。



8.8 Receiving an Instant Message

クライアントは Notification Server から system-generated message を受け取る。あるいは、それは Switchboard Server によって別のクライアントから instant message を受け取る。メッセージは次のフォーマットで受信される:

S: MSG UserHandle FriendlyName Length\r\nMessage

UserHandle および FriendlyName は送信ユーザのもの。Length は Message パラメータの byte 数である。

Message は MIME でエンコードされた stream で、RFC-1521 と RFC-822 で規定された標準的な MIME-Header をもつ。

Message は次のように構成される:

MIME-Header\r\nMIME-Header\r\n\r\nMessageData

MIME-Header は次のように構成される:

string": "string
(E.g. "Content-Type: text/plain")

現在のクライアントが使用し認識する MIME-Header は次のとおり:

"text/plain;charset=UTF-8"
"text/plain"

"charset=UTF-8" がヘッダーの終わりに現われる場合、Message Data は UTF-8 でエンコードされている。

Note: Switchboard Server はメッセージの内容を解釈( interpret )しない。