Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-10-2004
IcebergDelphi IcebergDelphi is offline
Miembro
 
Registrado: may 2003
Ubicación: VillaFlores, Chiapas, Mexico
Posts: 81
Poder: 22
IcebergDelphi Va por buen camino
Problemas de Comunicacion Indy (Desarrollo de aplicacion para in ciber)

Hola amigos del foro , estoy a punto de desarrollar una aplicacion para un ciber, estoy por ahora haciendo pruebas las cuales me han funcionado pero a la vez desepcionado, por ejemplo:

Hice una aplicacion o pantalla para bloquear la maquina cliente y le puse el sigueinte componente:NMStrm (Servidor) y en mi aplicacion la que estara en mi maquina puse el mismo componente pero (Cliente ) Llene los datos del Host: Initec08 y que al dar click en un boton se conecte y todo el rollo, esto funciona bien ya que al dar click desde mi maquina se desbloquea la pantalla que estara en las maquinas clientes pero al hacer esto durante tres veces (dar click en tres ocaciones) para hacer la prueba se desconecta todo y me manda un mensaje de error que la otra aplicacion sigue conectada y ahi se cuelga.

Bueno al ver esto opte por los componentes Indy la version mas nueva que baje de una pagina hice lo mismo que les comento en los parrafos anteriores, pero aqui no pasa nada solo me manda este mensaje de error:
Socket Error: 10049 Cant not assing requested address.

Ya revise todo y nada.

espero que alguien me de una idea o sepa por que sale este error.


Gracias amigos.
__________________
IcebergDelphi
LIA. Hiber tadeo Moreno Tovilla. INITEC Software
Responder Con Cita
  #2  
Antiguo 10-10-2004
Avatar de DarkByte
DarkByte DarkByte is offline
Miembro
 
Registrado: sep 2003
Ubicación: Desconocido
Posts: 1.322
Poder: 22
DarkByte Va por buen camino
Si pudieses poner el código que usas... así a lo mejor podríamos ver donde está el error...
__________________
:)
Responder Con Cita
  #3  
Antiguo 11-10-2004
IcebergDelphi IcebergDelphi is offline
Miembro
 
Registrado: may 2003
Ubicación: VillaFlores, Chiapas, Mexico
Posts: 81
Poder: 22
IcebergDelphi Va por buen camino
Codigo de comunicacion del Ciber

Hola amigos del foro gracias por responder , miren como me solicitaron parte del codigo para ver cual sera el problema que expongo en la pregunta , les mostrare.

Primero les muestro la aplicacion que servira para controlar a las demas maquinas esta aplicacion esta en mi maquina:

En este formulario de prueba tengo 2 cajas de texto , dos botones ( Inicio y fin del conteo), y un componte del Indy Llamado:TIdTCPClient y por ultimo unTimer

******Codigo*****

procedure TFrmPruebaServer.MyTimerTimer(Sender: TObject);
begin
EdtFinal.Text:=TimeToStr(Time());
end;

procedure TFrmPruebaServer.BtnIniciarClick(Sender: TObject);//Inicia el conteo//
begin
MyMainServer.Connect;// Componente Indy
EdtIni.Text:=TimeToStr(Time());
LblTotal.Caption:='';
MyTimer.Enabled:=True;//Timer
end;

procedure TFrmPruebaServer.BtnTerminarClick(Sender: TObject);//termnina el conteo//
Var
Resultado:TDateTime;
begin
Resultado:=StrToTime(EdtFinal.Text)-StrToTime(EdtIni.Text);
MyTimer.Enabled:=False;
MyMainServer.Disconnect;
LblTotal.Caption:='El Total consumido es:' + TimeToStr(Resultado);
end;
end.

Y el las propiedades del componente Indy tengo lo siguiente:
Host:=Initec08 //Maquina a la cual me comunicare
Port:=6711

Y por ultimo:

*************************************************
Codigo de la aplicacion que estara en las maquinas
*************************************************
Tengo un formulario con un componente Indy llamado TidTCPServer

Que al crearse el form se activa


procedure TFrmCliente.FormCreate(Sender: TObject);
begin
MyTcpClient.Active:=True;//Componente cuando se activa
end;


procedure TFrmCliente.MyTcpClientConnect(AThread: TIdPeerThread);
//Codigo del componente al recibir comunicacion, el formulario se oculta y dejara trabajar al usuario
begin
FrmCliente.Hide;
end;

procedure TFrmCliente.MyTcpClientDisconnect(AThread: TIdPeerThread);
// Al terminar la comunicacion o desconectarse, el fomulario aparecera y bloquera la maquina.
begin
FrmCliente.Show;
end;

end.


Todo esto lo probe con el otro componente que les meciono en mi pregunta , esto funciona `pero al tratar de conectarce tres veces (hacer click en tres ocaciones para conectarse) la aplicacion se cualga y ya no se cierra el formulario de la maquina cliente)
Es por eso que cambie al componente Indy

Pero Ahora con el componente Indy me lanza el error:
Socket error: 10049 cant not assing requested address

Cual sera el problema del componente INdy o que componente me recomiendan?

Gracias amigos.
__________________
IcebergDelphi
LIA. Hiber tadeo Moreno Tovilla. INITEC Software
Responder Con Cita
  #4  
Antiguo 14-10-2004
Avatar de DarkByte
DarkByte DarkByte is offline
Miembro
 
Registrado: sep 2003
Ubicación: Desconocido
Posts: 1.322
Poder: 22
DarkByte Va por buen camino
IcebergDelphi, por favor, intenta usar la etiqueta [ Delphi ] cada vez que vayas a escribir código... esta vez lo hago yo para que veas como queda

Código Delphi [-]
procedure TFrmPruebaServer.MyTimerTimer(Sender: TObject);
begin
 EdtFinal.Text:=TimeToStr(Time());
end;

procedure TFrmPruebaServer.BtnIniciarClick(Sender: TObject);//Inicia el conteo//
begin
 MyMainServer.Connect;// Componente Indy
      EdtIni.Text:=TimeToStr(Time());
 LblTotal.Caption:='';
MyTimer.Enabled:=True;//Timer
end;

procedure TFrmPruebaServer.BtnTerminarClick(Sender: TObject);//termnina el conteo//
Var
Resultado:TDateTime;
begin
Resultado:=StrToTime(EdtFinal.Text)-StrToTime(EdtIni.Text);
   MyTimer.Enabled:=False;
     MyMainServer.Disconnect;
LblTotal.Caption:='El Total consumido es:' + TimeToStr(Resultado);
end;
end.

//Y el las propiedades del componente Indy tengo lo siguiente:
Host:=Initec08 //Maquina a la cual me comunicare
Port:=6711

Y por ultimo:

/**************************************************
Codigo de la aplicacion que estara en las maquinas
*************************************************
Tengo un formulario con un componente Indy llamado TidTCPServer

Que al crearse el form se activa
*/

procedure TFrmCliente.FormCreate(Sender: TObject);
begin
MyTcpClient.Active:=True;//Componente cuando se activa
end;


procedure TFrmCliente.MyTcpClientConnect(AThread: TIdPeerThread);
//Codigo del componente al recibir comunicacion, el formulario se oculta y dejara trabajar al usuario
begin
  FrmCliente.Hide;
end;

procedure TFrmCliente.MyTcpClientDisconnect(AThread: TIdPeerThread);
// Al terminar la comunicacion o desconectarse, el fomulario aparecera y bloquera la maquina.
begin
  FrmCliente.Show;
end;

end.
__________________
:)
Responder Con Cita
  #5  
Antiguo 21-10-2004
Urano Urano is offline
Miembro
 
Registrado: sep 2004
Ubicación: Ciudad de México
Posts: 34
Poder: 0
Urano Va por buen camino
De acuerdo a la documentación (http://msdn.microsoft.com/library/de...or_codes_2.asp) el problema no tiene que ver con el código en si, sino con la disponibilidad de la máquina (initec08) o el puerto (6711).
¿Ya probaste que la máquina con la que te conectarás esté disponible? Lo puedes hacer con ping
¿El puerto está disponible? Con los service pack y algunos programas de seguridad se bloquean todos los puertos (por seguridad). Revisa que el 6711 está disponible (en initec08).
Espero que esto te sirva.
__________________
Urano González
Software Craftsman
www.HospedamosTuSitio.com
Responder Con Cita
  #6  
Antiguo 21-10-2004
Avatar de diegofhernando
diegofhernando diegofhernando is offline
Miembro
 
Registrado: may 2003
Ubicación: Locombia papá!
Posts: 267
Poder: 22
diegofhernando Va por buen camino
Qtal... hmm segun veo en lo q expones el evento q deberia generar una respuesta en el pc cliente es OnConnect, q tal si pones el codigo en el evento OnExecute de tu idTCPServer, tambien recuerda poner en la propiedad DefaultPort de este componente el mismo número de puerto q usaras desde el otro lado... espero puedas solucionar tu problema, de no ser asi pues pones de nuevo tu problema y de alguna forma se solucionará.

Salu2
__________________
Diego. Colombia es pasión.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 23:28:57.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi