river-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sim IJskes - QCG <...@qcg.nl>
Subject Re: Firewall traversal
Date Mon, 18 Jul 2011 14:41:00 GMT
On 18-07-11 14:07, Peter Firmstone wrote:
> Sim IJskes - QCG wrote:
>> On 10-07-11 06:37, Peter wrote:
>>> Any suggestions, ideas or assistance is welcome.
>> A ServerEndpoint needs to know its external contact identity. In case
>> of the TcpServerEndpoint the hostname where the client needs to
>> connect to.
> Correct, that would be the publicly visible address and port.
>> A ServerEndpoint behind a NAT probably has a private net address/
>> hostname.
> Correct, clients on the net need a public address.
>> Where do you connect to the proxy server to fetch the external address?
> It would require a custom ServerSocketFactory, so that when a Service is
> exported using a ServerEndpoint, during the export process, a port is

If you take a look at TcpServerEndpoint.enumerateListenEndpoints where 
the TcpEndpoint is created (or fetched) for export, where it is 
serialized. You will see there that the endpoint description consists of 
host, port and socketFactory.

In the TcpEndpoint this will be used to create the socket. The socket 
will be created with the sf.createSocket() call, and after creation the 
socket.connect(socketAddress, timeout); will be called.

This socketAddress will always be a InetSocketAddress. Do you see 
opportunities to do some translation or lookup in there?

Gr. Sim

QCG, Software voor het MKB, 071-5890970, http://www.qcg.nl
Quality Consultancy Group b.v., Leiderdorp, Kvk Den Haag: 28088397

View raw message