Einzelnen Beitrag anzeigen

Benutzerbild von Cyberaxx
Cyberaxx

Registriert seit: 15. Jul 2005
311 Beiträge
 
Delphi XE5 Professional
 
#1

Lazarus(Linux) idHTTPServer Already in use #98

  Alt 14. Dez 2013, 13:18
Hallo liebe Gemeinde,

aktuell versuche ich mittels Lazarus unter Linux den idHTTPServer in betrieb zu nehmen und scheitere mit der Meldung
Zitat:
EIdSocketError: Socket Error # 98
Address already in use.
Es ist dabei egal welchen Post ich benutze es ist immer die selbe Meldung.

Was kann hier die Ursache sein?
Sollte es etwas geben was von der Art her genau so einfach ist, ich natürlich auch dies versuchen.

Gefunden habe ich im Internet nichts zutreffendes und hier im Forum nur einen Thread mit der Antwort gleich etwas anderes als Indy zu nutzen. Ich würde aber gerne bei Indy bleiben. Der Quelltext ist hier recht schmal um den HTTPServer rum (ca 10 Zeilen). Ich muss nur die Parameter über die URL auslesen und an die RS232 Schnittstelle weiterreichen. Der Aufruf schaut Beispielsweise so aus:
Gelesen werden die drei Paramter und als Rückgabe ein einfacher String gesendet als Erfolgsmeldung.

Delphi-Quellcode:
constructor TMyApplication.Create(TheOwner: TComponent);
begin
  inherited Create(TheOwner);
  
  idHTTPServer1 := TIdHTTPServer.Create(nil);
  idHTTPServer1.DefaultPort := 65000;
  idHTTPServer1.OnCommandGet := idHTTPServer1CommandGet;
  idHTTPServer1.Active := True;
end;

procedure TMyApplication.IdHTTPServer1CommandGet(AContext: TIdContext;
  ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
begin
  if ARequestInfo.Document = '/then
  begin
    Writeln(ARequestInfo.Params.Text);
    AResponseInfo.ContentText := DateTimeToStr(Now);
  end;
end;
Daniel
Das Aufwachen aus einem boesen Traum muss einen nicht erleichtern. Es kann einen auch erst richtig gewahr werden lassen, was man Furchtbares getraeumt hat, vielleicht sogar welcher furchtbaren Wahrheit man im Traum begegnet ist!
  Mit Zitat antworten Zitat