Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Realizar una consulta a otra máquina (https://www.clubdelphi.com/foros/showthread.php?t=4104)

lore 02-10-2003 02:25:20

Realizar una consulta a otra máquina
 
Hola a todos, les cuento que realizo una consulta de un cliente a un servidor para que me muestre una form pero no me funciona.
Les envío algo de código.

En el cliente

procedure TFPantalla.BaceptarClick(Sender: TObject);
begin
ClientSocket1.Socket.SendText(Eusuario.Text);
ClientSocket1.Socket.SendText(Epassword.Text);
end;

En el servidor

procedure TFPrincipal.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
begin
Modulo.IBQuery1.Close;
Modulo.IBQuery1.Params[0].AsString := Socket.ReceiveText;
Modulo.IBQuery1.Params[1].AsString := Socket.ReceiveText;
Modulo.IBQuery1.ExecSQL;
Modulo.IBQuery1.Open;
if Modulo.IBQuery1.RecordCount > 0 then
Socket.SendText('OK');
end;

En el cliente

procedure TFPantalla.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);
var
mensaje : String;
i : Integer;
begin
mensaje := Socket.ReceiveText;
i := StrToInt(mensaje);
if i<> 0 then
FReloj.ShowModal
else
Label5.Caption := 'Login incorrecto';
end;

Desde ya muchas gracias.

__hector 02-10-2003 16:00:54

Al ServerSocket debes especificarle el indice de la conexion a la que quieres enviar el mensaje. Algo como:

Código:

  Server.Socket[indice].SendText('texto');

Viet 02-10-2003 16:29:23

Tambien lo puedes hacer con los Indy con :

Código:

// en el server

procedure TF_ppal.ServerExecute(AThread: TIdPeerThread);

begin

 with AThread.Connection do
  begin
    while Connected do begin
    msg := msg +  ReadLn;
    Disconnect;
    end;

end;

// en el cliente


procedure TF_ppal.botonxClick(Sender: TObject);
begin

  try
    Cli.host:= 'PCServer';
    Cli.Port := 1000;

    Cli.Connect;
    Cli.writeln( 'Mensaje');
    Cli.Disconnect;

  except
  end;

end;

todo lo haces con IdTCPClient, IdTCPServer

Suerte ;)


La franja horaria es GMT +2. Ahora son las 11:23:02.

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