Einzelnen Beitrag anzeigen

delphifan2004

Registriert seit: 26. Nov 2004
Ort: Dresden
272 Beiträge
 
Delphi 10.3 Rio
 
#3

Re: Indy TIdTCPClient verwenden, aber EIdSocketError?

  Alt 15. Feb 2010, 16:51
Zitat von sirius:
Host und Port sind die Einstellungen für den Server, den du erreichen willst. in deinem Fall sind das
127.0.0.1:2230

BoundIP und BoundPort ist quasi deine Absenderadresse. Da kannst du dir eine raussuchen, wenn du nix angibst sucht Windows etwas für dich raus.
Danke, soweit!

Habe die BoundPort und BoundIP ZUweisung jetzt entfernt aber ehalte den ESocketError noch immer.
Habe den gdbserver probeweise deaktiviert und so läuft nur noch gdb. Aber der ESocketError bleibt.

Wenn ich aber einen TIdTCPServer verwenden will, vermisse ich die Möglichkeit, eine IP Adresse vorzugeben und ich weiß auch nicht, wie ich den Port dort definiere. Da sich aber der GDB mit oder ohne gdbserver bis jetzt nicht ansprechen lässt, würd ich doch gerne einen Indy Server zum Testen nehmen. Es sei denn es wäre mit dem Gespann gdb und gdbserver letzlich doch leichter, weil ich da schon mal einen funktionierenden Server hätte.

Mein Ansatz für den Server:

Delphi-Quellcode:
type
  TIndyServer = class(TForm)
    pServer: TMemo; //Meldungen, Kommandos und Nachrichten vom Client empfangen
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    procedure ShowMessageIfConnected;
    procedure ReceiveMessage;
  public
      
  end;

implementation

procedure TIndyServer.FormCreate(Sender: TObject);
begin
  FServer := TIdTCPServer.Create(self);
  FServer.OnConnect := ShowMessageIfConnected;
end;

procedure TIndyServer.FormDestroy(Sender: TObject);
begin
  FServer.Disconnect;
  FServer.Free;
end;

procedure TIndyServer.ShowMessageIfConnected;
begin
  ShowMessage('Verbindung mit Client geglückt!');
end;

procedure TIndyServer.ReceiveMessage;
begin
  pServer.Lines.Add(FServer.Readings); //Pseudocode, soll zeigen, was ich machen will
end;
Nur klappt das so nicht. Wo war noch mal die Einsteigerdoku? Will da gleich selber noch mal schauen.
Wegen dieser Problematik wollte ich zunächst nur den Client machen und für den Server einen bereits funktionierenden nehmen. Aber damit klappt es auch nicht.

Wer kann mir hier weiter helfen?

.
  Mit Zitat antworten Zitat