Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   necesito ayuda con este codigo (https://www.clubdelphi.com/foros/showthread.php?t=56038)

kurono 06-05-2008 05:16:55

necesito ayuda con este codigo
 
hola amigos del foro estoy haciendo una especie de cliente/servidor donde quiero que mi aplicacion me havice que ya se a conectado las dos pc osea que una ves ejecutada la aplicacion me envie un mensaje diciendome "YA ESTA CONECTADO" pero el problema esta que cuando lo ejecuto me sale el error de que la direccion no esta especificada este es el codigo que tengo esat en el evento create form de la formulario

Código Delphi [-]
var
texto:string;
begin
servidor.Open;
begin
if cliente.Socket.Connected then
 cliente.Address:='64.32.105.190';
 cliente.Open;
 begin
 if cliente.Socket.Connected then
cliente.Socket.SendText('YA ESTA CONECTADO');
begin
texto:=servidor.Socket.ReceiveText;
memo1.Lines.Add(texto);
end;
end;
end;
end;
end.

MaMu 06-05-2008 05:33:53

Hola, en primer lugar, utiliza los eventos OnConnect, OnDisconnect y OnError para enviar avisos de conexion y desconexion.
Y segundo, Cliente.Address, es la direccion local del cliente, no la del host remoto, asumiendo que el componente que usas es ClientSocket y ServerSocket.

Cliente.Host:=direccion_remota_del_servidor;
Cliente.Port:=puerto_utilizado;

Saludos.

kurono 06-05-2008 05:39:42

si son esos componente que utilizo dejame probar lo que dices

kurono 06-05-2008 05:56:20

disculpa amigo mamu pero la forma que me dices que ponga el codigo me da error

Código Delphi [-]
var
texto:string;
begin
servidor.Open;
begin
if cliente.OnConnect then
cliente.Host:='210.59.25.15';
 cliente.Address:='64.32.105.190';
 cliente.Open;
 begin
 if cliente.OnConnect then
cliente.Socket.SendText('hola');
begin
texto:=servidor.Socket.ReceiveText;
memo1.Lines.Add(texto);
end;
end;
end;
end;
end.

MaMu 06-05-2008 07:02:07

A ver, vamos por partes dijo el forense:

CLiente

Código Delphi [-]
 
procedure TForm1.ClientSocket1Connect(Sender: TObject;
  Socket: TCustomWinSocket);
var msg:string;
begin
  msg:='Hola';
  ClientSocket1.Socket.SendText(msg);   
end;

Código Delphi [-]
 
procedure TForm1.ClientSocket1Disconnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
   ShowMessage('Desconectado');
end;

Código Delphi [-]
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  ClientSocket1.Host:='210.59.25.15';
  ClientSocket1.Port:=210; //Por ejemplo
  ClientSocket1.Open;
end;

Código Delphi [-]
 
procedure TForm1.ClientSocket1Read(Sender: TObject;
  Socket: TCustomWinSocket);
var msg:string;
begin
  msg:=ClientSocket1.Socket.ReceiveText;
  ShowMessage(msg);
end;

Servidor

Código Delphi [-]
 
procedure TForm1.Button2Click(Sender: TObject);
begin
  ServerSocket1.Port:=210;
  ServerSocket1.Active:=True;
end;

Código Delphi [-]
 
procedure TForm1.ServerSocket1ClientConnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  ShowMessage('Cliente conectado desde: '+ServerSocket1.Socket.RemoteHost);
end;

Código Delphi [-]
 
procedure TForm1.ServerSocket1ClientConnect(Sender: TObject;
  Socket: TCustomWinSocket);
var msg:string;
begin
  msg:='Bienvenido';
  ServerSocket1.Socket.SendText(msg);
  ShowMessage('Cliente conectado desde: '+ServerSocket1.Socket.RemoteHost);
end;

Bueno, te adjunte algunas formas de encarar el tema, como para que te guíes.

Saludos


La franja horaria es GMT +2. Ahora son las 08:44:11.

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