[jdev] Re: VTD-XML version 1.6
Jimmy Zhang
crackeur at comcast.net
Fri May 19 17:18:33 CDT 2006
Excuse my ignorance, after read your examples a bit more, I had only more
questions...
why not exchanging well-formed XML messages for each request and response
like SIP??
for some reason this partial conversation style of XMPP looks pretty
unnatural?? Why is
XMPP this way??
----- Original Message -----
From: "Jimmy Zhang" <crackeur at comcast.net>
To: "Jabber software development list" <jdev at jabber.org>
Sent: Friday, May 19, 2006 12:25 AM
Subject: Re: [jdev] Re: VTD-XML version 1.6
>I like xmpp a lot better than SIP ... it ought to replace SIP in the
>future....
> ----- Original Message -----
> From: "Alexander Gnauck" <gnauck at ag-software.de>
> To: <jdev at jabber.org>
> Sent: Thursday, May 18, 2006 11:31 PM
> Subject: [jdev] Re: VTD-XML version 1.6
>
>
>> crackeur at comcast.net schrieb:
>>> you confused me even more...
>>> I thought IM apps exchange xml messages (usually small),
>>
>> let me explain XMPP with this small example of a session:
>>
>> the client connects, open the socket and the XML Document
>> C->S: <?xml version="1.0"?>
>> C->S: <stream:stream xmlns:stream="http://etherx.jabber.org/streams"
>> xmlns="jabber:client" to="jabber.org" >
>>
>> server accepts the socket and opens the XML document
>> S->C: <stream:stream xmlns='jabber:client'
>> xmlns:stream='http://etherx.jabber.org/streams' from='jabber.org'
>> id='596931'>
>>
>> the client starts to authenticate
>> C->S: <iq type="get" to="jabber.org" id="auth_1" >
>> <query xmlns="jabber:iq:auth">
>> <username>alex</username>
>> </query>
>> </iq>
>>
>> S->C: <iq type="result" id="auth_1" >
>> <query xmlns="jabber:iq:auth">
>> <username>gnauck</username>
>> <password/>
>> <digest/>
>> <resource/>
>> </query>
>> </iq>
>>
>> C->S: <iq type="set" to="jabber.org" id="auth_2" >
>> <query xmlns="jabber:iq:auth">
>> <username>gnauck</username>
>> <password>secret</password>
>> <resource>Psi</resource>
>> </query>
>> </iq>
>>
>>
>> S->C: <iq type="result" id="auth_2" />
>>
>> C->S: <message type="chat" to="romeo at jabber.org" > <body>Test</body>
>> </message>
>>
>> Client closes the connection, which means it closes the XML Document
>> C->S: </stream:stream>
>>
>> Server is closing the XML Doc too
>> S->C: </stream:stream>
>>
>> you see we have 2 complete XML Documents. The client doc and the server
>> doc. Our messages, also called stanzas are the 1st level child elements
>> of the document. If you see the stanzas as a single xml doc and not in
>> the context of the whole document you loose the namespace of the stanzas,
>> and your software is not namespace correct. This is why parsing XMPP XML
>> is a bit tricky and the most out of the box parsers don't work very well
>> without modifying them. My exapmple shows the old jabber style
>> authentication. It gets even more complicated when using SASL, START-TLS
>> and other stuff which resets the stream and opens the document again.
>>
>> > why do they exchange huge XML docs? It sounds not just bad, but
>> > unnecessary...
>>
>> i don' think so. Because of this XMPP is a very clean and solid protocol.
>> Clean, simple, powerful, extensible.....
>>
>> Alex
>>
>>
>
>
>
More information about the JDev
mailing list