I've built projects that do exactly this and was quite pleased with
the results. My comm path was:

browser1(flash -> gwt ->) server -> browser2(gwt -> flash)

I was able to make between 30 and 60 transmits per second with small
packets less than 1K in size on various browsers. Initially I used
various styles of push, but ended up using long poll for all the
platforms. The server would block on the message queue for 30 seconds
and then return an empty result if no messages were there for the
client; the client would then immediately recall the Service, which
would wait for 30 seconds, or return the queued messages.

My pieces of advice are:

1. Transfer Strings only, no other data types. If you have to transmit
structured data, use JSON strings and parse them in Flash and on the
server. Ample code to do this can be found here: http://www.json.org/

2. Use the thread-safe classes to store your message queues. I used
ConcurrentHashMap(username, queue) to keep individual queues for each
user.

3. Use a BlockingQueue for your messages. I used LinkedBlockingQueue()
which lets the caller block for messages until a timeout (that 30
seconds part).

4. If you find you have a lot of messages that go stale then be sure
to prune your queue of expired messages before adding a new one. Do
this on put(), not poll()!

I did not use the fabridge code, but it looks like what you want. Be
sure you understand that you have to expose a JS method in the $doc/
$win for the flash piece to call, and vice versa export a method from
your actionscript for that same JS to call. FABridge looks like it has
examples to help.

Have fun!

Matt
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" 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/Google-Web-Toolkit?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to