You might also want to have a look at the Wave-API group
(at http://groups.google.com/group/google-wave-api).

In the discussion "Google Wave Inbox Notification tool
for the Windows Desktop" (post 15) pamela noted that
reverse engineering parts of the service might not be
permitted.

I don't know if the same thing applies here. The protocol
should be part of the open source specification. But i see
similarities (since you wrote "Reverse engineering".)

Greetings,
 Sascha


On Oct 22, 9:48 pm, Torben Weis <[email protected]> wrote:
> Hi,
>
> yes, I will publish the C++ code as open source.
>
> In the meantime I succeeded (hopefully) in uncovering the binary format used
> in the RPC.
> Seems that every message starts with a 4 byte integer in little endian
> notation.
> It describes the size of the message.
> Then follows a varint serial number (meaning not totally clear to me
> currently) as a varint
> (see protocol buffer definition). Next is a varint which describes the
> length of the function-name.
> Next is the function-name. Next is a varint which determines the size of the
> payload.
> The payload itself is a normal protocol buffer. That's it. The next message
> follows suit.
>
> However, I did not implement this, so it might still be wrong. At least the
> format
> seems to be rather straight forward.
>
> Greetings
> Torben
>
> 2009/10/22 Sascha <[email protected]>
>
>
>
>
>
> > I am interested in this as well. With an C++ implementation, a PHP
> > implementation would become quite easy to make too.
>
> > Do you plan, to publish a C++ library?
>
> > On Oct 21, 5:24 pm, Torben <[email protected]> wrote:
> > > Hi,
>
> > > I am working on a C++ wave client (written from scratch, no port of
> > > the java stuff).
> > > I have the GUI and basic OT stuff in place already.
> > > Now I want to connect to FedOne. I got the proto files and created the
> > > C++ code using protoc.
> > > However, Google does not ship a RPC implementation. While I can write
> > > one on my own,
> > > I need to know how the google one is encoded.
>
> > > I tried to capture the TCP communication and decode it using protoc,
> > > but this seems not to
> > > work. Can anybody tell me how the RPC message is encoded? It seems to
> > > contain the name
> > > of the RPC being called, but what is the meaning of the other bytes?
>
> > > Any hint is appreciated. Reverse engineering binary messages is not
> > > really fun.
>
> > > Greetings
> > > Torben
>
> --
> ---------------------------
> Prof. Torben Weis
> Universitaet Duisburg-Essen
> [email protected]
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Wave 
Protocol" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/wave-protocol?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to