• Jueves 14 de Noviembre de 2024, 04:26

Autor Tema:  Re: Cliente/Servidor con librerías Indy  (Leído 3546 veces)

apol

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Cliente/Servidor con librerías Indy
« en: Lunes 21 de Julio de 2003, 03:05 »
0
Hola, estoy haciendo un cliente/servidor muy basico, trabajo con los componentes   Indy http://www.indyproject.org

no me estan funcionando, si establecen conexion pero fallan
al enviar o recibir datos.

En el cliente pongo este procedimiento:

procedure TFCliente.BComandoClick(Sender: TObject);
var
com: string;
begin
com:= NComando.Text;
UDP.Send(com); // ??enviar string al server
end;

y en el servidor

procedure TFServ.UDPUDPRead(Sender: TObject; AData: TStream;
  ABinding: TIdSocketHandle);


begin
comando:= UDP.ReceiveString; // leer un dato enviado desde el cliente.
if comando= '1' then
  begin
   Ejecutar comando 1 //hacer cualquier cosa
  end;
........................

No se donde esta el fallo.

alguien sabe como soluciono este problema? la idea
es que el cliente envie datos (tipo string) y el servidor los lea correctamente, mediante udp.
Gracias.

Sacarin

  • Nuevo Miembro
  • *
  • Mensajes: 16
    • Ver Perfil
Cliente/Servidor con librerías Indy
« Respuesta #1 en: Lunes 21 de Julio de 2003, 19:17 »
0
Por que no usas IdTelnet .

Hice algo una vez y funcionaba muy bien .
Creo que trae unas demos :Telnet Server y TelnetClient .

lordsid

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Re: Cliente/Servidor con librerías Indy
« Respuesta #2 en: Martes 18 de Enero de 2005, 17:55 »
0
:scream:  Para enviar debes de utilizar el UDP cliente, y para capturar el server UDP.
En los dos debes definir el puerto y el host

para enviar

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
IdUDPClient.Host:= txthost.Text;
IdUDPClient.Port:=  strtoint(txtpuerto.Text );
IdUDPClient.Send(txtSend.Text );
end;


para capturar


procedure TForm1.OnUDPRead(Sender: TObject; AData: TStream; ABinding: TIdSocketHandle);
const
   BlockSize = 2048;


begin

// Adata es lo que envio el cliente
end;