Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Als Server mit Client verbinden... (https://www.delphipraxis.net/4919-als-server-mit-client-verbinden.html)

hircusmutzus 16. Mai 2003 17:07


Als Server mit Client verbinden...
 
Hi,
ich programmiere erst seit ca. 2 Monaten mit Delphi und arbeite derzeit an einem Programm, mit dem man als Server an einen Client MSG-Boxes/en - keine ahnung wie der Plural ist :-) - schicken kann. Bis jetzt hatte ich es so, dass der Client die IP eingibt und dann mit dem Server Verbindung aufnimmt.
Wenn man sich aber mit dem Programm im Schul-/Privatnetzwerk einen kleinen Spaß erlauben will, ist es natürlich dumm wenn der Client connecten u. die IP eingeben muss.

Deshalb meine Frage:
Wie kann man es mit den Server/Client-Socket Komponenten anstellen, dass der Server die IP des Clients eingibt und dann automatisch zum diesem connectet (während der Client bei dem "Opfer" schon im Hintergrund läuft...)?

Es wäre nett wenn jemand der eine Möglichkeit kennt antwortet!

MfG Matthias Volland

ATwardz 16. Mai 2003 17:58

Wieso willst du es unbeding herum? Versteh ich den Sinn nit, hier mein Beispiel!

Ich habe ein Programm programmiert wo der server beim Opfer läuft und
du mit dem Server von deinem Pc bequem die Taskleiste ausblenden kannst
und solchen scherze, ein genialer Netzwerk spass!

Dein Client(Das Programm von dem du die Nachricht aus steuerst!

Delphi-Quellcode:

procedure TForm1.Button1Click(Sender: TObject);
begin
  client.Port:=25544;{muss der gleiche sein}
  client.Address:=Edit1.Text;{IP oder PC-name}
  client.Open;
end;

procedure TForm1.ClientConnect(Sender: TObject; Socket: TCustomWinSocket);
begin
  Form1.Caption:='connected';
end;

procedure TForm1.ClientDisconnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  Form1.Caption:='disconnected';
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Client.Close;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  client.Socket.SendText(Edit2.Text);
end;
Das Serverprogramm

Delphi-Quellcode:

procedure TForm1.FormCreate(Sender: TObject);
begin
  Form1.Visible:=false;
  Server.Port:=25544;{z.B.}
  server.Open;
end;

procedure TForm1.ServerClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  MessageDlg(Socket.ReceiveText, mtInformation, [mbOK], 1);
{Unter garkeinen Umständen hier server.Socket.ReceiveText, dann funkst das nit }
  Form1.Caption:='nachricht';
end;

procedure TForm1.ServerClientConnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  Form1.Caption:='connected';
end;

procedure TForm1.ServerClientDisconnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  Form1.Caption:='Disconnected';
end;
Ja und das is es dann auch schon ein Freund von mir wollte schon formatieren, dann hab ich ihn eingeweit!

Denk dran das du das nur mit Leuten machst die den Spass auch verstehn, sonst kannst du echt Ärger bekommen!

Na dann! :spin: Viel Spass

@wardz

hircusmutzus 16. Mai 2003 19:41

Hi,
schon mal vielen Dank für die Antwort!
Der Gedanken den Server beim Opfer laufen zu lassen ist in dem Fall wirklich sehr praktisch - also noch mal vielen Dank!

Matthias Volland

P.S.: Ich freu mich schon auf die nächste LAN... :-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:43 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz