Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Aplicación cliente/servidor usando Sockets (https://www.clubdelphi.com/foros/showthread.php?t=37616)

Genner 17-11-2006 22:19:07

Aplicación cliente/servidor usando Sockets
 
buenas tardes foreros estoy en tiempo de ocio y estoy haciendo una aplicacion tipo cliente servidor usando sockets lo que hace es que cuando se conecta el cliente en la otra aplicacion creo una imagen y la muestro. pero lo que no he podido hacer q cuando el cliente se desconecte quite la la imagen creada.
alguna idea?
Código Delphi [-]
procedure Tpanel.servidorClientWrite(Sender: TObject;
  Socket: TCustomWinSocket);
  var
  nombre,nombre_conexion:string;
  etiqueta:TstaticText;
 begin
 nombre:=socket.ReceiveText;
//crear instancia de  para la imagen
 maquina:=Timage.Create(parent);
 etiqueta:=TstaticText.Create(parent);
 etiqueta.Parent:=self;
 with maquina do
 begin
 Parent:=Self;
 Picture.LoadFromFile('c:\genner\imagenes\perdimos.bmp');
 width:=100;
 Height:=100;
 stretch:=true;
 Name:=nombre;
 OnDblClick:=click_;
//posicion en la pantalla
 nuevo_alto:=alto_inicio;
 nuevo_izquierda:=izquierda_inicio;
 izquierda_inicio:=nuevo_izquierda+width+8;
 label3.Caption:=IntTostr(izquierda_inicio);
 if(izquierda_inicio>=panel.Width)then
 begin
 nuevo_alto:=alto_inicio+height+20;
 alto_inicio:=nuevo_alto;
 izquierda_inicio:=8;
 nuevo_izquierda:=izquierda_inicio;
 izquierda_inicio:=nuevo_izquierda+width+8;
 end;

 Left:=nuevo_izquierda;
 top:=nuevo_alto;
 etiqueta.Top:=maquina.Top+maquina.Height;
 etiqueta.Caption:=nombre;
 etiqueta.Left:=maquina.Left;
 end;
 end;

aeff 18-11-2006 10:54:14

yo tengo una idea!!!
 
hola, mira, no se que clase de componentes estás utilizando para esa aplicación tuya cliente/servidor, pero yo te recomendaría para la aplicación Cliente el componente TClientSocket, y para la aplicación Servidor el componente TServerSocket de la pestaña Internet, al menos en delphi 5...

en vez de mostrar una imagen pondré un ejemplo mostrando un mensajito...

=> ahora, cuando se están conectando a la aplicación Servidor, en el evento OnClientConnect del ServerSocket haces lo siguiente:

...
begin
ShowMessage('Alguien se está conectando: ' + Socket.RemoteHost);
end;

=> para saber cuando se han desconectado, en tu caso deberías quitar tu imagen, pero como ejemplo, un mensajito,
En el evento OnClientDisconnect del ServerSocket:

...
begin
ShowMessage('Parece que ' + Socket.RemoteHost + ' se ha desconectado.');
end;

<<-->>

bueno, espero que te sirva de algo, estos dos componentes son los que yo uso para enviar textos, en pocos de los casos para los stream, de todas maneras son de lo mejor...


La franja horaria es GMT +2. Ahora son las 22:55:51.

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