FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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. |
#2
|
||||
|
||||
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
__________________
Héctor Geraldino Software Engineer |
#3
|
||||
|
||||
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
__________________
:) |
#4
|
||||
|
||||
No puedes mantener la conexion siempre activa ?
Asi no tendrias problemas de esperar a que se conectase para enviar cada mensaje
__________________
Héctor Geraldino Software Engineer |
#5
|
||||
|
||||
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.
__________________
:) |
#6
|
||||
|
||||
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...
__________________
Héctor Geraldino Software Engineer |
|
|
|