Conexao direta via internet atraves de firewall

Gostária de colocar dois computares para se comunicarem utilizando a internet, mas o problema é que ambos estão atras de um firewall.

A unica solução seria colocar um intermediario entre os dois computadores que pudesse manter a comunicação entre eles.

[PC1] ------------------------> SERVIDOR WEB <------------------------ [PC2]

Pensei em utilizar sockets com esse fim. Os sockets dos dois pcs ficariam abertos no servidor e ele redicionaria o fluxo de dados para cada um.

Alguem tem uma ideia de como implementar essa solucao?

Bom, é um saco fazer isso utilizando um servidor web como mediador porque a conexão com ele não é ativa, e sim por requisições e respostas. Se voce for utilizá-lo mesmo assim, vai ter que ficar varrendor por solicitações de ambos os lados a cada período, isso vai tornar mais lento, mas funciona.

Entao, por isso pensei em usar sockets.

Estava estudando JXTA, parece ser uma solucao tambem.

O problema é que não consigo de jeito algum conectar dois peers atraves de um rendezvous peer.

Se alguem tiver um exemplo.

O Programmer Guide do JXTA, passa batido sobre essa parte.

Porque não tenta com RMI, é mais alto nível.

Existe um roteador entre a internet e os PCs.

Cara, eu não estou vendo este problema todo, mesmo via rmi, socket, http, banco de dados ou o que quer que seja.
Pode ser que eu não tenha entendido o problema, mas penso que apenas redirecionar a porta do firewall para o servidor da sua aplicação resolve esta questão.

Nao posso criar rotas ou regras no firewall.

Não dá pra usar uma solução RESTful para isso?