Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Problemas con conexión de sockets (https://www.clubdelphi.com/foros/showthread.php?t=3540)

cone220 10-09-2003 23:54:01

Problemas con conexión de sockets
 
Tengo el siguiente código en un botón:

procedure TForm1.Button2Click(Sender: TObject);
begin
CS1.Port := strtoint(Edit2.Text);
CS1.Active := true;
CS1.Socket.SendText(Edit3.Text);
CS1.Active := true;
end;

El server socket está permanentemente escuchando. El problema es que para que la información que quiero enviar, solo llega luego de hacer click DOS VECES en el botón.

:confused:

__hector 11-09-2003 15:31:31

Primero, veo que pones la propiedad Active a True dos veces... cosa que me parece extraña e innecesaria.

Segundo, quizas cuando haces clic en el boton, el ClientSocket intenta conectarse, pero al tratarse de una conexion (o proceso) asincrono, no detiene la ejecucion del programa e intenta mandar texto a una conexion que todavia no ha sido establecida. Intenta poner el codigo que envia el texto en el evento OnConnect del ClientSocket a ver si funciona.

Ah, y corrige eso de Active := true; dos veces ;)

DarkByte 18-09-2003 18:16:30

Hola, yo tengo el mismo problema, solo que el texto que mando no es siempre el mismo, por lo que no lo puedo poner en OnConect, ¿Cómo se hace para que haga una pausa hasta conectarse?

Gracias

__hector 19-09-2003 02:53:46

No puedes mantener la conexion siempre activa ?

Asi no tendrias problemas de esperar a que se conectase para enviar cada mensaje

DarkByte 19-09-2003 08:24:24

No, lo que estoy intentando, es que, si el usuario no está conectado al intentar enviar un texto por el socket, se conecte. Lo bonito sería que esperase hasta que terminase de conectarse para enviar el mensaje.

__hector 19-09-2003 16:06:34

No se como esperar a que se realice la conexion para poder enviar el mensaje (no me he detenido a leer), pero puedes utilizar una chapuza para salir 'de momento' de tu problema. Declaras una variable global, y si la conexion no esta hecha, haces la conexion, asignas el valor a enviar a la variable, y en el evento onConnect envias el texto que tiene dicha variable

Deberia funcionar asi...


La franja horaria es GMT +2. Ahora son las 00:07:05.

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