PDA

Ver la Versión Completa : Socket que funciona hasta la segunda vuelta


Phacko
17-10-2006, 03:48:12
Que tal a todos.

Estoy desarrollando una aplicacion para cerrar o reiniciar otras computadoras en la red haciendo uso de TServerSocket y TClientsocket, todo funciona casi bien, digo casi porque cuando selecciono uno de dos RadioButton (apagar o reiniciar) y doy clic en el boton que corresponde a la computadora que quiero controlar sucede nada, hasta que selecciono nuevamente la misma opcion y el mismo boton es cuando se lleva a cabo el control, es decir se apaga o reinicia la computadora elejida.

A continuación el fragmento del codigo que hace esto:

Procedure TForm1.ControlarPC;
Begin
If CS1.Active=True Then CS1.Close;
CS1.Address:=IP;
CS1.Host:=Hosts;
Then
Try CS1.Open;
Except ShowMessage('No se tiene conexión'+chr(13)+'Trata de nuevo');
End;
If RBApagar.Checked Then CS1.Socket.SendText('1')
Else CS1.Socket.SendText('2');
BDellamara1.Enabled:=False;
BDellamara2.Enabled:=False;
BDellamara3.Enabled:=False;
BDellamara4.Enabled:=False;
BDellamara5.Enabled:=False;
RBApagar.Checked:=False;
RBReiniciar.Checked:=False;
End;


Las variable IP y Hosts se definen al pulsar el boton que corresponde a la computadora a controlar. Ya he hecho algunos cambios y nada, inclusive inserte un bucle que dependia del evento Active del socket para poder enviar el valor y nada, funcionaba igual hasta la segunda vuelta.

Agradeceria mucho alguien me diera una pista, lo mas seguro es que sea algo sin chiste, pero ya estoy algo embolado y no atino a ver que esta mal. Casi lo olvidaba, hasta hoy he trabajado con las execepciones y francamente lo que anote arriba no me ha funcionado yigual agradeceria que alguien me indicara si voy por buen camino con eso.

Gracias.

Buena noche por aca, buen dia por allá.:rolleyes:

Enan0
17-10-2006, 17:03:38
Mira calculo que han sido errores de TRanscripsion. pero!!!
el "FALSE" ahi solito no se que hace!!! y despues llamas a clientSocket1. y no a "CS1"

False Then
Try ClientSocket1.Open;

Phacko
18-10-2006, 02:34:54
Que tal a todos.

Efectivamente Enan0, fue un error de transcripcion que en realidad fue omisión ya que hice algunos cambios y no modifique lo que me indicaste, pero ya está corregido y como está actualmente trabajando, funcionando hasta la "segunda vuelta".

Gracias, agradesco tu tiempo.

Si alguien me puede dar alguna idicación se los voy a agradecer, yo por mi perte continúo probando.

Buena noche por aca, buen día por allá.:D

Enan0
18-10-2006, 15:39:11
si queres y no te es "peligroso" por tu trabajo o lo que esa. Podes pasar el codigo y se puede intentar Depurar.

por otro lado estoy escribiendo algo muy sencillo para apagar la PC (que es la instruccion que me acuerdo y te cuento en que resulta)

Enan0
18-10-2006, 19:57:16
Ya vi cual es tu Error te Falta un #13#10 despues del '1'
seria



......
.....
....Sendtext('1'+#13#10);
....
....
...


Igual aca te dejo un cliente y un servidor esta hecho con los Sockets de la paleta Internet y el codigo es de delphi 5 (seria 100 % compatible con delphi6) cualquier error que te de que Falta algo referente a Variant's , agrega dicha Unit en los uses

http://rapidshare.de/files/37237645/Sockets.rar.html

Saludos
PD; Si podes con Los indy Sockets bueno estaria que los uses. pero la verdad el server de Indy a mi me vuelve loco y lo puedo hacer funcionar como quiero :(

Phacko
18-07-2007, 02:50:13
Que tal Enan0??? disculpa mi total falta de agradecimiento, tuve que dejar por un buen tiempo esto y despues se me olvido lo que estaba haciendo, ya después lo retome y se soluciono, la verdad ya ni recuerdo que fue lo que hice, pero lo que me aconsejaste lo voy a poner en marcha en otro proyectiyo que he comenzado con socket's, nuevamente gracias.

Saludos.

Buena madrugada por allá, buena tarde por acá.