--
You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group.
To view this discussion on the web visit https://groups.google.com/d/msg/google-web-toolkit/-/DoASuAbKVnkJ.
To post to this group, send email to google-we...@googlegroups.com.
To unsubscribe from this group, send email to google-web-tool...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
scalability is important for me. I want to make strong use of server push once I have a working skeleton. For example, I would like to push chess moves to all clients that are currently watching a chess board: The two players and all visitors. There are other chess servers that do this (e. g. www.schacharena.de), and they have thousands of users. It would be hard to believe that they use a technique with one open/waiting request per client. (BTW: Can one determine which technique is used there from the outside?)
Hi,I took a look at most of the libraries, but there is no one that can make my happy, because none of them seems to be "lightweight".Atmosphere requires Maven. If I go to Maven someday, I would like to do this on the basis of a free decision, but not as a dependency for the library I am looking for.
All the systems mentioned in the context of Comet (http://cometdaily.com/maturity.html) seem to be big frameworks, with much more functionality than that I am looking for. This also holds for Errai.
I am always careful with such decisions. If I always add a complete framework whenever I need a little bit of functionality, my project will explode very soon.What seems to be nice and small and "light" is the HTML5 support for WebSockets, at least as described here (*):
One Servlet declaration, one Handler at the server and one handler at the client. This seems very attractive to me!
However, it seems that GWT supports HTML5 but without WebSockets:
Is this correct? Why does GWT support HTML5 but not for such an important thing like WebSockets?
So if I wanted to use the library above (*):How are these projects below code.google.com organized? Is it always a jar file that one has to put into WEB-INF/lib to use the library?
I really hope that I can use this lightweight library (*) very soon and I appreciate any help that gets me started.Magnus
Anyway I'd give atmosphere a try.
Sun Oct 21 01:10:58 CEST 2012 org.atmosphere.gwt.client.AtmosphereClient INFO: Created transport: org.atmosphere.gwt.client.impl.WebSocketCometTransport
Sun Oct 21 01:10:58 CEST 2012 org.atmosphere.gwt.client.AtmosphereClient INFO: Server does not support WebSockets
Sun Oct 21 01:10:58 CEST 2012 test.client.GWTDemo SEVERE: comet.error [connected=false] (404)
com.google.gwt.user.client.rpc.StatusCodeException: 404 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> <title>Error 404 NOT_FOUND</title> </head> <body><h2>HTTP ERROR: 404</h2><pre>NOT_FOUND</pre> <p>RequestURI=/testatmosphere/gwtComet/room1</p><p><i><small><a href="http://jetty.mortbay.org/">Powered by Jetty://</a></small></i></p><br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> </body> </html>
at org.atmosphere.gwt.client.impl.StreamingProtocolTransport.onReceiving(StreamingProtocolTransport.java:50)
at org.atmosphere.gwt.client.impl.HTTPRequestCometTransport.onLoaded(HTTPRequestCometTransport.java:204)
at org.atmosphere.gwt.client.impl.HTTPRequestCometTransport.access$3(HTTPRequestCometTransport.java:201)
at org.atmosphere.gwt.client.impl.HTTPRequestCometTransport$3.onReadyStateChange(HTTPRequestCometTransport.java:131)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)
at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71)
at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:172)
at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessagesWhileWaitingForReturn(BrowserChannelServer.java:337)
at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:218)
at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:136)
at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:561)
at com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:269)
at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91)
at com.google.gwt.core.client.impl.Impl.apply(Impl.java)
at com.google.gwt.core.client.impl.Impl.entry0(Impl.java:213)
at sun.reflect.GeneratedMethodAccessor26.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)
at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71)
at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:172)
at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessages(BrowserChannelServer.java:292)
at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:546)
at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:363)
at java.lang.Thread.run(Thread.java:636)
On Oct 18, 2012 10:56 AM, "Magnus" <alpine...@googlemail.com> wrote:
>
> Hi,
>
> I took a look at most of the libraries, but there is no one that can make my happy, because none of them seems to be "lightweight".
>
> Atmosphere requires Maven. If I go to Maven someday, I would like to do this on the basis of a free decision, but not as a dependency for the library I am looking for.
> All the systems mentioned in the context of Comet (http://cometdaily.com/maturity.html) seem to be big frameworks, with much more functionality than that I am looking for. This also holds for Errai.
Errai does provide a lot of functionality, but they have tried to make it possible to include only what you want. You should be able to use only the parts that implement the errai bus.
Using the errai bus would make it easy to implement a solution. Errai makes it trivially easy to send messages. And it knows to use web sockets, if they are supported.
--Michael
I wonder how this is done in Google Docs? The approach may be a bit of overkill for a chat client though. Multiple users can edit a word processing document or spreadsheet simultaneously.I've seen talks about how this is done conceptually. It involved the command pattern and there was a way to ship (serialized) objects from server to client. I think it used the Google Chat protocol.