MSNメッセンジャーのクライアント作った人いる?
■ このスレッドは過去ログ倉庫に格納されています
0045ちょっと翻訳してみた
NGNG8.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 )しない。
■ このスレッドは過去ログ倉庫に格納されています