Well it's an applet on a public website, so it should work behind all types of
firewall/proxy server, however fussy they are.
Regarding firewalls that prevent all but outgoing http requests; remoting doesn't have
to use polling. The client can make an http request that blocks on the server until there
is data to be sent to the client, http keep-alive will keep the connection open (but you
need a heartbeat message to check when this is dropped and reconnect). This allows real
time calls to be made from server to client without polling, even when the firewall only
allows outgoing http connections.
You would use a seperate connection for client to server calls.
This example shows the principle behind this, its using RMI but principle is the same;
http://wiki.java.net/bin/view/Communications/FirewalledClients
This solution isn't very scalable though as you need a thread waiting for each client,
a better solution would be to have something similar to the nio "Selector" so
you don't need a thread per client, at least not for async callbacks.
Saying that even this approach will fail with a few very awkward proxy servers, that cache
data up only deliver it when there is more than say 16k to deliver. In that case polling
is the only option. When establishing a connection it should perform some very quick
tests to use whatever is possible.
Anyway, my point is as an application developer I don't want to be doing all this
stuff, we just want a way of sending messages from client to server, and vice versa
without having to worry about the protocol or the firewalls/proxies that are in the way.
From my understanding that is what JBoss remoting will eventually offer, am I right?
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3990018#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...