[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[JDEV] [Protocol 1.0]




#### Intro

The protocol is currently only half-complete, as many have pointed out. 
The reason it is currently not implemented "correctly" is simply because
it was easier to write software to process it on the server side when it
was done with one common main level tag(<j type='packettype'></j>).  I
thought it might be able to work just fine that way, but after looking at
it again it's probably worth the effort to write the code and do it the
right way. 

The proposal here is to model the protocol after a typical XML document. 
All communications between the clients and the server(Jabber Transport)
will look like: 

<?xml version="1.0"?>
<jabber type="client" version="Name/OS version/version" protocol="19990101">
...rest of client communication happens in here
</jabber>

Comments should be allowed anywhere, and will be ignored.  When the client
sends a </jabber> it will signal a close, but is not necessary(just
closing the connection will work identically).  The server should respond
in an identical fashion, with the exception that it will be type="server". 


#### Example protocol

<login>
	<user>jeremie</user>
	<pass>Ph0niks</pass>
	<name>jabalot</name>
</login>

<message>
	<to>jeremie</to>
	<say>test</say>
</message>

<message>
	<to>someone</to>
	<to name='Jenny(work)'>jenny</to>
	<to>jeremie</to>
	<to name='HAhah!'>safdsgh@asdfg.asdfasdf</to>
	<thread>sdfa</thread>
	<priority>1</priority>
	<subject>Did you see that?</subject>
	<say>asdgf asdfkjasgoijqwert asdgaldgjkas</say>
</message>

<status>
	<say type='online'>This is my status</say>
	<priority>10</priority>
	<icon>normal</icon>
</status>

<roster>
	<add group='main'>fred</add>
	<add group='friends'>user@jabber.server.com</add>
	<add group='main'>545212@ICQ</add>
	<del group='system'>olduser</del>
</roster>

<roster>
	<get group='main'/>
</roster>


#### Server to client

<message>
	<from name='nickname'>fred</to>
	<thread>sdfa</thread>
	<priority>1</priority>
	<subject>Did you see that?</subject>
	<say>asdgf asdfkjasgoijqwert asdgaldgjkas</say>
</message>

<status>
	<from name='nickname'>jenny</from>
	<say type='online'>This is my status</say>
	<priority>10</priority>
	<icon>normal</icon>
</status>

<roster>
	<group name='main'>jenny</group>
	<group name='friends'>user@jabber.server.com</group>
	<group name='main'>545212@ICQ</group>
	<group name='system'>olduser</group>
</roster>