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

时间:2010-12-07 18:47:02

标签: 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>

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

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

没有属性。客户如何知道谁向他发送了消息?

抱歉我的英文。感谢。

1 个答案:

答案 0 :(得分:5)

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

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