在xmpp(jabber)协议中标识发件人

use*_*173 0 c# xmpp

我不明白如何确定通过jabber协议发送的消息的发送者.如果我收到消息,那么xml看起来像这样:

<message from="sharok1989@qip.ru/QIP" to="sharok89@gmail.com/Talk.v10576F328E0" stime="1291746351249" xml:lang="ru" type="chat" id="qip_45">
    <body>Hi. I'm fine.</body>
    <active xmlns="http://jabber.org/protocol/chatstates"/>
</message>
Run Code Online (Sandbox Code Playgroud)

属性.
如果我发送消息,那么xml看起来像这样:

<message to="sharok1989@qip.ru" type="chat" id="42">
    <body>Hello. How are you?</body>
    <active xmlns="http://jabber.org/protocol/chatstates"/>
</message>
Run Code Online (Sandbox Code Playgroud)

没有来自的属性.客户如何知道谁向他发送了消息?

对不起我的英语不好.谢谢.

Gre*_*ell 5

如果指定了一个来自XMPP服务器,则需要验证'from'属性(以验证发件人未尝试模拟其他客户端),或者如果未指定,则添加'from'属性.通常,您可以省略'from'并假设服务器将根据客户端连接的JID附加一个.

有关准确的规则,请参阅RFC 3920(链接到"XML Stanzas"部分).