AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Einfaches Command per Server/Client
Thema durchsuchen
Ansicht
Themen-Optionen

Einfaches Command per Server/Client

Ein Thema von RobertS · begonnen am 20. Mai 2003 · letzter Beitrag vom 20. Mai 2003
Antwort Antwort
RobertS
(Gast)

n/a Beiträge
 
#1

Einfaches Command per Server/Client

  Alt 20. Mai 2003, 13:44
Hallo!

Also ich habe einfach mal 2 kleine Programme gemacht.. 1 mit idTCPSERVER und das andere mit idTCPCLIENT.

Der Server wartet auf Port 827, wenn der Client sich verbunden hat, kann dieser 2 Commands schicken, per SendCmd.
Auf der Serverseite kann ich auch auf den Command reagieren, auch ein sg. Reply kann ich angeben doch dieser kommt beim Client nicht an..

Der Server hat ja auch keine Art SendText oder ähnliches, hat jemand damit schonmal Erfahrungen gemacht?

Ich danke euch schonmal.
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#2
  Alt 20. Mai 2003, 14:27
Schau Dir mal das Proggie an, basiert auf den gleichen Komponenten.

http://www.delphipraxis.net/viewtopic.php?t=4440

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
RobertS
(Gast)

n/a Beiträge
 
#3
  Alt 20. Mai 2003, 15:26
Also danke schonmal an dich!

Ich bin da ja mal durchgestiegen und so richtig den Durchblick hab ich aber nicht!

Der Event "OnExecute" vom Server wird bei mir gar nicht aufgerufen....weder noch bei SendCMD oder bei WriteLn

Alles was ich möchte ist ja nur das der Server eine Antwort gibt, ob der Command erfolgreich war.

Bin erst seid einiger Zeit an Delphi dran, wegen der Firma, also entschuldigt bitte wenn ich ich so anfängerhafte Fragen stelle.

So danke im voraus

mfg
Robert
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#4
  Alt 20. Mai 2003, 15:42
Poste mal den Code vom Client und vom Server und wie weit der bereits funktioniert. Mal schauen, wie ich dann weiterhelfen kann. Ist wahrscheinlich der sinnvollste Ansatz.

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
RobertS
(Gast)

n/a Beiträge
 
#5
  Alt 20. Mai 2003, 16:01
Code:

Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    IdTCPServer1: TIdTCPServer;
    IdTCPClient1: TIdTCPClient;
    glSpeedButton1: TglSpeedButton;
    glSpeedButton2: TglSpeedButton;
    servermemo: TMemo;
    clientmemo: TMemo;
    Button1: TButton;
    Button2: TButton;
    procedure glSpeedButton1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure glSpeedButton2Click(Sender: TObject);
    procedure IdTCPServer1Connect(AThread: TIdPeerThread);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure IdTCPServer1TIdCommandHandler1Command(ASender: TIdCommand);
    procedure IdTCPServer1TIdCommandHandler0Command(ASender: TIdCommand);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.glSpeedButton1Click(Sender: TObject);
begin
IdTCPServer1.Active:=True;

Form1.Caption:='Server';
servermemo.Visible:=True;
end;

procedure TForm1.glSpeedButton2Click(Sender: TObject);
begin
glSpeedButton2.Enabled:=False;
IdTCPClient1.Connect();
Form1.Caption:='Client';
clientmemo.Visible:=True;
Button1.Visible:=True;
Button2.Visible:=True;
end;


procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if IdTCPServer1.Active then IdTCPServer1.Active:=False;
if IdTCPClient1.Connected then IdTCPClient1.Disconnect;

end;

procedure TForm1.IdTCPServer1Connect(AThread: TIdPeerThread);
begin
servermemo.Lines.Add('Client verbunden');

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
IdTCPClient1.SendCmd('test');
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
IdTCPClient1.WriteLn('test');
end;


procedure TForm1.IdTCPServer1TIdCommandHandler0Command(
  ASender: TIdCommand);
begin
showmessage('Command2');
end;


procedure TForm1.IdTCPServer1TIdCommandHandler1Command(
  ASender: TIdCommand);
begin
showmessage('Command1');
end;

end.
Wo zur Zeit noch "showmessage('Command1')" steht soll eben dann die "Antwort" hin.

Danke für Anregungen
mfg
Robert
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#6
  Alt 20. Mai 2003, 16:13
Wenn ich mich jetzt nicht irre, dann sollte es so gehen:
Delphi-Quellcode:
procedure TForm1.IdTCPServer1TIdCommandHandler0Command(
  ASender: TIdCommand);
begin
  ASender.Connection.WriteLn('Ätsch, angekommen');
end;
Wenn nicht, lass es mich wissen, dann starte ich Delphi

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
RobertS
(Gast)

n/a Beiträge
 
#7
  Alt 20. Mai 2003, 16:24
Ich muss dich anscheinend doch dazu verdonnern Delphi zu starten

geht nicht habe es auch so probiert:

Delphi-Quellcode:
procedure TForm1.IdTCPServer1TIdCommandHandler0Command(
  ASender: TIdCommand);
begin
ASender.SendReply;
Asender.Response.Text:='dlkfjdkf';
end;
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#8
  Alt 20. Mai 2003, 16:25
vertausche mal die beiden Zeilen...

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  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:45 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