Como faço um especie de proxy?

Delphi

15/06/2006

Amigos,
preciso desenvolver um proxy para um programa q fique salvando tudo.
vou explicar...
tenho um programa cliente e um servidor q naum são meus.
o programa cliente conecta no servidor com a ajuda um arquivo ini q tem o ip do servidor e ficam trocando informações.
eu preciso fazer um programa q fique pegando os dados e restransmitindo.
vi um programa semelhante a esse q eu quero fazer em java.
a finalidade desse programa é pegar um dado q vem do servidor e executar uma ação.
se o servidor enviar ´abc´ o proxy restransmite a informação pro programa cliente e envia um e-mail para supervisor@dominio.com

ps: o proxy eh instalado no computador cliente q possui conexão com a internet.



Orlando Frade

Orlando Frade

Curtidas 0

Respostas

Massuda

Massuda

15/06/2006

Se estiver usando Indy, dê uma olhada no componente TIdMappedPortTCP na aba Indy Servers. Basicamente esse componente recebe uma conexão num IP/porta e redireciona para outro IP/porta. Usei muito pouco esse componente, mas pelo que lembro, ele gera um evento quando vai enviar dados para, usando o diagrama que você fez, o servidor.


GOSTEI 0
Orlando Frade

Orlando Frade

15/06/2006

vlw massuda .. vou dah uma olhada.
jah o começo ;p


GOSTEI 0
Orlando Frade

Orlando Frade

15/06/2006

deu +/- certo
ele redireciona normal, mas eu naum nao consigo v o q trafega.


GOSTEI 0
Massuda

Massuda

15/06/2006

Dei uma pesquisada e parece que isso funciona... use os eventos [b:3baad1f987]TIdMappedPortTCP.OnOutboundData[/b:3baad1f987] para pegar os dados que estão saindo do proxy e [b:3baad1f987]TIdMappedPortTCP.OnExecute[/b:3baad1f987] para pegar os dados que chegam ao proxy.

Os dados estão disponíveis em AThread.NetData (AThread é o parametro recebido nos dois eventos).

Lembrando que Indy é multithread, então se for mostrar os dados num form, use Synchronize para por os dados no form.


GOSTEI 0
Orlando Frade

Orlando Frade

15/06/2006

vlw massuda ..
vc me salvando + 1 vez.
soh + 1 pergunta .. isso funciona no indy 10 neh?


GOSTEI 0
Massuda

Massuda

15/06/2006

[quote:09cf45629f=´Orlando Frade´]isso funciona no indy 10 neh?[/quote:09cf45629f]Não sei... não uso Indy 10, uso Indy 9.


GOSTEI 0
POSTAR