[JDEV] Alpha release of Game Playing - IM - Posted Updated version
Thomas Charron
tcharron at ductape.net
Wed Jul 25 07:47:42 CDT 2001
Quoting Ashvil <ashvil at i3connect.net>:
> Hi Thomas,
> Thanks for finding a protocol bug. I apologize for all the
> trouble
> this caused you or anyone who downloaded our software.
Not a problem.. 8-P We all learn..
> We have changed the client negotiation to use iq:browse as you
> suggested.
> The message flow is now
> Query : <iq type='get' to='JID'><user
> xmlns='jabber:iq:browse'/></iq>
> Reply : <iq type='result' to='JID' ><user type='client' name='i3c'
> xmlns='jabber:iq:browse'/></iq>
Yep, that will work. You might also want to take it one step further, and
include the use of the <ns> tag, which is meant to report what namespaces that
entity supports. Using this method, and possibly using predeclared namespaces
per game, you could actually add new games, etc, to clients, and be able to
backwards negotiate with older clients that may not support newer games and
their namespaces..
> We use i3C to identify that it is our client. We tested this with Jabber
> IM
> and WinJab. Please let us know, if this is compliant with the Jabber
> protocol.
Yeppers... There may be some nitpicking by individual developers, but this
will work correctly.. 8-P
> > And even better way would be to use a different ns for each game,
> that
> way,
> > each game could have it's own XML, etc, and other clients would be
> free to
> > implement the functionality of the games into their own clients.
> We need to think about your proposal of using a different namespace for
> each
> game. We are currently studying the extension mechanism that Jabber has
> and
> will get back with queries on this.
Feel free to ask here if you have any further questions or comments. We're
always open to conversations, and after all, this is how the protocol evolved
over time.. 8-P
The other capability to think about is the fact that using extented
namespaces allows you to place any aritrary XML data within the jabber protocol
stream.
> I am open to documenting our XML wire format for each game (that we
> write),
> so that other clients can implement the gaming functionality and we can
> have
> cross client inter-op. That's the beauty of an open system like
> Jabber.
Yeppers. I wasn't sure, simply becouse of the fairly strict EULA that you
included with your client. But yes, if you did choose to open it up, other
clients could implement the format, or even more, develope independant
frontends. One step further would be, for example, a transport that
implemented the chess protocol for clients, and served as a front end to one of
the existing chess game servers on the net, allows interoperability with things
such as the Internet Chess Server..
> It was not our intention to create spam or break an open system. The
> reason
> this bug slipped thru was
> a) not testing with WinJab
> b) we learnt most of the Jabber protocol by looking at the XML over
> the
> wire.
8-P Not a problem. Several clients don't implement headline message types
acuratly, and hence, may or may not have actually shown those headline
messages..
> We plan to correct this ASAP, but some lessons are always learnt the
> hard
> way ;-)
> Once again thanks for your feedback and sorry for the trouble.
Again, hope it didn't come accross to brash. 8-P This is definatly a good
use for the protocol, be it an open extention or not. Welcome to the
development of Jabber.. 8-P
---
Thomas Charron
<< Wanted: One decent sig >>
<< Preferably litle used >>
More information about the JDev
mailing list