FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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 |
#2
|
||||
|
||||
Si pudieses poner el código que usas... así a lo mejor podríamos ver donde está el error...
__________________
:) |
#3
|
|||
|
|||
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 |
#4
|
||||
|
||||
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
__________________
:) |
#5
|
|||
|
|||
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. |
#6
|
||||
|
||||
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. |
|
|
|