27. juni 2005 - 20:20Der er
4 kommentarer og 2 løsninger
Client og Serverprogram
Jeg skal have lavet et server- og et klientprogram, som kan sende data til hinanden.
Det skal virke sådan at klienten skal kunne sende nogle data (nogle få tekststrenge og nogle integers) til serveren, som den så gemmer. Og når jeg så lukker klienten ned, så skal den sende et signal til serveren om at nu er klienten logget af.
Hvor tilegner jeg mig information om hvilken metode jeg skal benytte for at lave dette? Har Delphi noget smart indbygget til formålet? Jeg har Delphi 2005....
en måte å få klienten til å sende et signal når den slås av er å bruke OnCloseQuery til hovedformen din. jeg er ikke kjent med Delphi 2005's komponenter, men Delphi 6 bruker TServerSocket og TClientSocket...
f.eks:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin ClientSocket1.Socket.SendText('END CONNECTION'); end;
procedure TForm1.ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket); begin if Socket.ReceiveText('END CONNECTION') then User[GetUserID(Socket.RemoteAddress)].Online:= False; end;
håper dette kan være til hjelp... (for optimal ytelse lønner det seg ikke å bruke hele setninger til slike ting... å sende EN byte er mye mer effektivt (bruk av OPcodes f.eks))
en måte å få klienten til å sende et signal når den slås av er å bruke OnCloseQuery til hovedformen din. jeg er ikke kjent med Delphi 2005's komponenter, men Delphi 6 bruker TServerSocket og TClientSocket...
f.eks:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin ClientSocket1.Socket.SendText('END CONNECTION'); end;
procedure TForm1.ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket); begin if Socket.ReceiveText('END CONNECTION') then User[GetUserID(Socket.RemoteAddress)].Online:= False; end;
håper dette kan være til hjelp... (for optimal ytelse lønner det seg ikke å bruke hele setninger til slike ting... å sende EN byte er mye mer effektivt (bruk av OPcodes f.eks))
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.