> the protocol runs on a particular websocket implementation, called > socketIO. i saw no evidence of a more standard (is there a standard > already?) websocket implementation.
Socket.IO is an alternate transport mechanism for browsers that don't support Websockets. For all browsers which do, the code uses native Websockets instead. (So you can use the Webkit debug tools built into the browser to 'follow' the websocket stream live) > the c/s protocol itself is generated by protobuff, so there are some > special files (read the protobuff docs for this) which are used to generate > java classses. at the time of my experiments, there was a separate ant task > to rebuild the protocol classes, now there's maven building wiab (if i'm > not wrong) so i don't know if this is part of the standard build or if you > have to compile a separate module. All of the protocols are built off protobufs (which makes use in a new language fairly simple as long as you can find an appropriate compiler). The maven build hasn't yet been merged with the current trunk, and is now lagging behind upstream by a few months (AFAIK). There was no agreed way of handling the protobufs with maven, and a discussion was had on this list on whether to simply include them prebuilt (which I think was what we decided, check the archives) or to require protoc for WIAB compilation. > As Ali pointed out the main lack i found (probably because it's the first > thing i stumbled upon) is the lack of an authentication mechanism thought > websockets. so you probably wants to start from there but i'm sure there > are more things that will need to be either added or tweaked. This could really do with being spec'd since it makes alternate implementations impossible to communicate with this 'example' server. I have been trying to implement the simplest Wave server (you can check my progress at http://github.com/alown/rave) possible in Ruby, which is revealing problems due to a lack of defined specifications for how to communicate between the server. (The WIAB server/client code is currently very tightly coupled (check other discussions in mailing list a few months ago) making it difficult to make alternate implementations). Ali PS. @Ricardo, you may want to check out google-wave-splash on Google Code, which was an alternate client for Google Wave. (Read-only though IIRC)