Hola a tod@s. Bueno, tengo un problema con unos componentes de Indy llamados TClientSocket y TServerSocket. Realizo una conexión perfecta entre ellos si lo hago desde localhost. También lo hace perfectamente si lo hago desde mi equipo a otro equipo el cual está conectado directamente a Internet, es decir, que no esta dentro de una red.
El problema viene cuando intento hacer la conexión desde mi PC hasta un equipo remoto el cual está dentro de una red con conexión a Internet compartida. Intento conectar pero es como si no existiera.
He usado varios puertos (no se si será cosa de eso) e incluso he abierto puertos en ambos equipos y demás. Aqui os dejo el codigo:
Programa Servidor:
Código:
void __fastcall TForm1::FormCreate(TObject *Sender)
{
servidor = new TServerSocket(this);
servidor->Port = puerto;
servidor->OnClientRead = clienteRead;
servidor->Active = true;
}
void __fastcall TForm1::clienteRead(TObject *Sender, TCustomWinSocket *Socket)
{
ShowMessage(Socket->ReceiveText());
}
Programa Cliente:
Código:
void __fastcall TForm::FormCreate(TObject *Sender)
{
cliente = new TClientSocket(this);
cliente->Host = ip_remota;
cliente->Port = puerto;
cliente->Active = true;
}
void __fastcall TForm::BotonClick(TObject *Sender)
{
cliente->Socket->SendText(texto);
}
Agradecería mucho cualquier tipo de ayuda. Un saludo!