AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi per idTCP Befehle an Server senden
Thema durchsuchen
Ansicht
Themen-Optionen

per idTCP Befehle an Server senden

Ein Thema von Neuni · begonnen am 25. Feb 2004 · letzter Beitrag vom 26. Feb 2004
Antwort Antwort
Neuni

Registriert seit: 25. Feb 2004
815 Beiträge
 
Delphi 7 Personal
 
#1

per idTCP Befehle an Server senden

  Alt 25. Feb 2004, 17:50
Hi,
ich weiß, dass das bestimmt schon oft kam, aber aus den Antworten anderer Themen und den Tutorials, wurde ich einfach nicht Schlau.

Ich möchte zwei Programme schreiben, einen Server und einen Client, die über IdTCP verbunden werden. Wenn ich beim Client auf einen Button klicke, soll der eine nachricht an den Server schicken, der dann anhand der Nachricht erkennt, was er machen soll und dann einen Befehl ausführt.
Also beim Server sollte das dann irgendwie so aussehen:

if NachrichtDieAnkommt = 'Hallo' then
showmessage ('Guten Tag');

Der Server soll also wenn er eine Nachricht vom Client erhält einen vordefinierten Befehl ausführen (Hier soll er also die Nachricht 'Guten Tag' anzeigen, wenn er vom Client den Befehl 'Hallo' bekommt).

Meine Fragen sind nun:

1. Wie stelle ich eine Verbindung zwischen IdTCPClient und IdTCPServer her?

2. Wie schicke ich eine Nachricht an den Server?

3. Was muss ich tun, damit der Server showmessage ('Guten Tag') ausführt wenn ich ihm den Befehl 'Hallo' sende?


Verzeit mir bitte wenn ich ein paar blöde Fragen stelle oder so, aber ich programmiere noch nicht sehr lange.

Wär nett wenn ihr mir schnell helfen könntet,
Neuni
  Mit Zitat antworten Zitat
jackie
(Gast)

n/a Beiträge
 
#2

Re: per idTCP Befehle an Server senden

  Alt 25. Feb 2004, 20:13
Hi Neuni!

Also erst mal herzlich willkommen in der Delphi-PRAXiS

Normalerweise solltest du für jede Frage einen Thread aufmachen, aber ich bin mal nicht so:
Die erste Frage kann ich mal beantworten:

Du brauchst ein Server Programm mit IdTCPServer, dass auf einem bestimmten Port 'lauscht' (einstellbar im OI unter DefaultPort (und nicht vergessen, auf Active = True zu stellen)). Dann kannst du dich mit dem Client (IdTCPClient) gannz leicht verbinden:
IdTCPClient.Connect Vorher aber im OI noch Host und Port angeben!

[edit]zu 2.) Du kannst vom Client aus folgendermaßen eine Nachricht schicken:
Delphi-Quellcode:
IdTCPClient.Write('Hello World!');
oder
IdTCPClient.WriteLn('Hello World!');
[/edit]
  Mit Zitat antworten Zitat
Neuni

Registriert seit: 25. Feb 2004
815 Beiträge
 
Delphi 7 Personal
 
#3

Re: per idTCP Befehle an Server senden

  Alt 25. Feb 2004, 20:22
Danke,
das mit dem Thread wusste ich nicht, sorry.

Also das mit der connection hab ich nun gerafft und dem schreiben,
aber wie sach ich nu dem server was er machen soll, wenn er den befehl erhält?

Nochmal Danke

neuni
  Mit Zitat antworten Zitat
Neuni

Registriert seit: 25. Feb 2004
815 Beiträge
 
Delphi 7 Personal
 
#4

Re: per idTCP Befehle an Server senden

  Alt 25. Feb 2004, 20:32
Oh, mein Quellcode sieht nun so aus:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
  StdCtrls;

type
  TForm1 = class(TForm)
    IdTCPClient1: TIdTCPClient;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
IdTCPClient.Write('Hello World!');
end;

end.
Aber wenn ich die Anwendung nun starten will steht da:
[Fehler]unit1.pas(30): Undefinierter Bezeichner: 'Write

Was heißt das??? Wo ist der fehler?

Neuni

---
[edit]

Fehler hat sich behoben, Grund: Mein Client heißt IdTCPClient1 und ich hatte IdTCPClient geschrieben

Bleibt die Frage, wie sachich dem server was er machen soll wenn er die nachrcht bekommt?
[/edit]
  Mit Zitat antworten Zitat
Neuni

Registriert seit: 25. Feb 2004
815 Beiträge
 
Delphi 7 Personal
 
#5

Re: per idTCP Befehle an Server senden

  Alt 25. Feb 2004, 20:46
Ok..funktioniert alles, bleiben die Fragen:

1. Muss ich beimm server auch IdTCPServer1.connect hinschreiben, oder geht das von alleine?

2. (Wie ober schon) Wie ist der Befehl für den Server, dass er nen befehl ausführt?


Danke für jede Antwort,
Neuni
  Mit Zitat antworten Zitat
jackie
(Gast)

n/a Beiträge
 
#6

Re: per idTCP Befehle an Server senden

  Alt 26. Feb 2004, 07:15
Hi Neuni!
1. Also beim Server musst du glaub ich nicht connecten, sondern nur auf Active := True stellen.
2. Ich werde heute Nachmittag mal nachschauen (kann jetzt nicht - Schule)
  Mit Zitat antworten Zitat
jackie
(Gast)

n/a Beiträge
 
#7

Re: per idTCP Befehle an Server senden

  Alt 26. Feb 2004, 13:41
Also: zu 2.) Ich habe es noch nicht herausgefunden. Aber du könntest mal im Ordner Demos\Indy\Chat deiner Delphi Installation nachschauen, da ist ein Chat, bei dem es das Feature gibt, Smiles zu ersetzen. du musst einfach schauen, wie du das umformen kannst, sodass er eine Meldung ausgibt.
  Mit Zitat antworten Zitat
Neuni

Registriert seit: 25. Feb 2004
815 Beiträge
 
Delphi 7 Personal
 
#8

Re: per idTCP Befehle an Server senden

  Alt 26. Feb 2004, 17:56
Danke!
In dem Ordner hab ich schon geguckt, aber aus den Codes wurde ich auch nich schlauer...

also wenn jemand weiß was man machen musss, damit der server je nach nachricht nen befehl ausführt bitte schreiben.

Neuni
  Mit Zitat antworten Zitat
Chris1986

Registriert seit: 17. Jul 2003
Ort: Aachen
350 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: per idTCP Befehle an Server senden

  Alt 26. Feb 2004, 18:49
Es gibt zum auslesen des Servers 2Möglichkeiten:
1.) Mit einem Timer. (Wie im ersten Beispiel der Indy-Kompos)
2.) Besser und edler weil es nicht abstürzt beim Bewegen der Form: Arbeite mit Threads. Auf der Indy-HP gibts ein Beispiel

MfG
Christian
Es gibt nur 10 Typen von Menschen auf der Welt:
Die, die Binärcode verstehen und die, die es nicht tun . . .
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz