next up previous contents
Next: Implementing Protocols Using JChannel Up: Firewalls Previous: Using multiple JRouters

Merging JRouter and gossip

Another problem listed above is that most firewalls will typically only allow outgoing TCP connections on port 80 (HTTP). In most cases, it will not be possible to 'open' additional TCP ports (unless the JavaGroups user is the system administrator). Therefore, the gossip and JRouter daemons would have to be merged and listen on port 80. Merging the two daemons should be rather straight forward, as they contain overlapping functionality anyway (it is on the author's todo list). A merged daemon would be accessed by both the PING (registration, initial member lookup) and TUNNEL (message routing) protocol layers.

The TUNNEL and PING protocols could contact the merged daemon directly via a TCP connection to port 80 which would persist until the channel leaves the group. However, in the case of Java applets, an HTTP server would also have to listen on the same port, as applets are only allowed to connect back to the host from which they were downloaded3.13, leading to port conflicts. In this case, the merged daemon would have to be modified to act as a web server proxy: whenever it receives a request at port 80t, and the request is not from the TUNNEL or PING protocols, it would pass the request on to an HTTP server running on a different port (e.g. 8000).


next up previous contents
Next: Implementing Protocols Using JChannel Up: Firewalls Previous: Using multiple JRouters

1999-08-19