AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Server: Socket-Fehler # 10054
Thema durchsuchen
Ansicht
Themen-Optionen

Server: Socket-Fehler # 10054

Ein Thema von Master of Phoenix · begonnen am 28. Sep 2007 · letzter Beitrag vom 5. Apr 2008
Antwort Antwort
Seite 2 von 2     12   
busybyte

Registriert seit: 15. Sep 2006
165 Beiträge
 
#11

Re: Server: Socket-Fehler # 10054

  Alt 5. Apr 2008, 16:17
Nun es ist schon ca. 3 Jahre her, das ich einen http-Server mit den Indys gebastelt habe ,der aber heute noch funktioniert.
Folgender Effekt:
Innerhalber der Delphi-IDE werden alle Exceptions vom Debugger angezeigt und liessen sich auch nicht abschalten/abfangen.
Starte ich aber nur die Exe ausserhalb Delphi, gibt's,gab es keine Probleme und mir wurde erklärt das das völlig normal sei.
I love DiscCat
  Mit Zitat antworten Zitat
Benutzerbild von everdream
everdream

Registriert seit: 22. Feb 2007
Ort: Hiddenhausen
192 Beiträge
 
Delphi 2005 Personal
 
#12

Re: Server: Socket-Fehler # 10054

  Alt 5. Apr 2008, 16:33
Dass der Debugger alle Exceptions anzeigt (auch z.B. bei try ... except Blöcken) hab ich auch schon rausgefunden, allerdings stürzt mein Programm auch ab, wenn ich die *.exe unabhängig von Delphi starte und dann ein Client ohne sich abzumelden beendet wird.
Max
"Das Ziel ist im Weg!"
  Mit Zitat antworten Zitat
busybyte

Registriert seit: 15. Sep 2006
165 Beiträge
 
#13

Re: Server: Socket-Fehler # 10054

  Alt 5. Apr 2008, 17:29
Diese Demo ist ist absolut minimalistisch, aber funtioniert fehlerfrei, nachdem man in den ProjektDateieien (1*Client und 1* Server)
folgende Zeile deaktiviert hat,Du verwendest allerdings Indy9 solltest evtl. updaten. oder Context in PeerThread zurückbasteln.
Delphi-Quellcode:
begin
  Application.Initialize;
// Application.MainFormOnTaskbar := True; <--------- !!!
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.
Indy 10 TCP Server/Client Tutorial

Und noch Indy9 vs Indy 10
Indy 9/10
I love DiscCat
  Mit Zitat antworten Zitat
busybyte

Registriert seit: 15. Sep 2006
165 Beiträge
 
#14

Re: Server: Socket-Fehler # 10054

  Alt 5. Apr 2008, 17:38
Den Client noch etwas modifiziert.Wichtig ist das z.B. SendM zu TForm gehört ,sonst kann er nichts mit dem TCP.Client anfangen,aber die
Compilerfehlermeldung seht Ihr dann sofort.
Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    TCPClient: TIdTCPClient;
    Button1: TButton;
    Button2: TButton;
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
  private
  Procedure SendM(S:String);
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

Procedure TForm1.SendM(S:String);
begin
  if TCPClient.Connected then
  begin
  TCPClient.IOHandler.WriteLn(S);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  TCPClient.Connect;
  SendM('Dies ist eine Nachricht vom Clienten.');
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
TCPClient.Disconnect;
end;

procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
case Key of
vk_Return:SendM(Edit1.Text);
end;
end;

end.
I love DiscCat
  Mit Zitat antworten Zitat
busybyte

Registriert seit: 15. Sep 2006
165 Beiträge
 
#15

Re: Server: Socket-Fehler # 10054

  Alt 5. Apr 2008, 17:50
Ich werf den Server auch mal hier rein,ist aber nicht von mir,many thx 2 halinchen.
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdCustomTCPServer,
  IdTCPServer, idContext;

type
  TForm1 = class(TForm)
    TCPServer: TIdTCPServer;
    Memo1: TMemo;
    procedure TCPServerExecute(AContext: TIdContext);
    procedure TCPServerConnect(AContext: TIdContext);
    procedure TCPServerDisconnect(AContext: TIdContext);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.TCPServerConnect(AContext: TIdContext);
begin
  Memo1.Lines.Add('Verbindung: ' + AContext.Binding.PeerIP);
end;

procedure TForm1.TCPServerDisconnect(AContext: TIdContext);
begin
  Memo1.Lines.Add('Verbindungsabbruch: ' + AContext.Binding.PeerIP);
end;

procedure TForm1.TCPServerExecute(AContext: TIdContext);
begin
  Memo1.Lines.Add('Nachricht: ' + AContext.Connection.IOHandler.ReadLn);
end;

end.
I love DiscCat
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 20:43 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