This isn't ready to submit yet, just wanted to show the changes I was making based on discussions with Joel and JohnL about how the events should work.
I think the open events are broken as designed (please correct me if I am wrong), and it would be pretty expensive for us to try and work around it (we could add our own wrapper with its own callbacks, and when we actually instantiate the underlying WebSocket object, we could check if it changed to OPEN before the callbacks were registered and fake it ourselves). http://gwt-code-reviews.appspot.com/646803/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors