Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Chat Problem - Asynchroner Socket-Fehler 10061 (https://www.delphipraxis.net/42689-chat-problem-asynchroner-socket-fehler-10061-a.html)

subdid 22. Mär 2005 16:04


Chat Problem - Asynchroner Socket-Fehler 10061
 
Hi leute

also leider bin ich in Delphi nochn echt dummer noob *g* aber naja aller anfang ist schwer und so hab ich mir von Ultimator das chattut angeschaut. beim ersten versuch hab ich direkt einen server und client in einem geschrieben, was jedoch den nachteil hatte, dass die leute mit router nicht damit klar kamen, also hab ich 2 programme geschrieben. wenn ich jetzt den server und das alte programm (server + client) laufen lasse, kommt kein fehler, bei dem neuen hat sich aber ein fehler anscheinend eingeschlichen und ich find ihn nicht (kommt immer asynchroner socket-fehler 10061 -- was ja bedeutet so viel ich gelesen hab, dass der server / client zicken macht, am server kanns aber jedoch nicht liegen). also dachte ich mir poste ich mal den quelltext (hab auch schon mit dem alten verglichen, aber den fehler hab ich nicht gefunden)


Unit 1
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, ComCtrls, ScktComp;

type
  TForm1 = class(TForm)
    ClientSocket1: TClientSocket;
    RichEdit1: TRichEdit;
    RichEdit2: TRichEdit;
    ButtonSenden: TButton;
    ProgressBar1: TProgressBar;
    Label1: TLabel;
    ButtonConnect: TButton;
    ButtonOptions: TButton;
    procedure RichEdit2KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure ButtonOptionsClick(Sender: TObject);
    procedure ButtonConnectClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
    nickname: String;
    server: String;
  end;

var
  Form1: TForm1;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.RichEdit2KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var rechne: integer;
begin
  rechne := trunc(100 / 500 * Length(RichEdit2.Text));
  ProgressBar1.Position := rechne;
  Label1.Caption := IntToStr(Length(RichEdit2.Text)) + ' / 500 Zeichen';

  if(Length(RichEdit2.Text)>0) AND (ClientSocket1.Active=true) then
    ButtonSenden.Enabled := true;
end;

procedure TForm1.ButtonOptionsClick(Sender: TObject);
begin
  Form2.Show;
end;

procedure TForm1.ButtonConnectClick(Sender: TObject);
begin
  ClientSocket1.Active := false;
  ClientSocket1.Host := server;
  ClientSocket1.Active := true;
end;

end.

Unit 2
Delphi-Quellcode:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Unit1;

type
  TForm2 = class(TForm)
    ButtonSpeichern: TButton;
    Label1: TLabel;
    Label2: TLabel;
    EditNickname: TEdit;
    EditServer: TEdit;
    procedure ButtonSpeichernClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.ButtonSpeichernClick(Sender: TObject);
begin
  Form1.nickname := EditNickname.Text;
  Form1.server := EditServer.Text;
  Form2.Close;
end;

end.

also falls wirklich einer bock hätte sich die mühe zu machen und sich das ma anzuschaun - ich wär ihm auf jeden fall dankbar :shock:

PierreB 22. Mär 2005 16:48

Re: Chat Problem - Asynchroner Socket-Fehler 10061
 
Ähm so auf den ersten Blick kann ich keinen Fehler entdecken. Aber wo hast du denn eigentlich den Server-/Client Port deklariert ? Falls du es im Objektinspektor gemacht hast, gucke mal ob er bei beiden Programmen der gleiche ist. Vielleicht ist der Port ja auch schon belegt oder so...

Und für was ist das hier:
Delphi-Quellcode:
rechne := trunc(100 / 500 * Length(RichEdit2.Text));
und die ProgressBar ?

//EDIT: Ich hab grad gelesen den 10061 erhält man wenn der Server nicht antwortet. Also guck ob der Server active ist und die Ports gleich sind :zwinker:

subdid 22. Mär 2005 22:56

Re: Chat Problem - Asynchroner Socket-Fehler 10061
 
jap hat hingehauen danke... hab echt vergessen den port zu ändern bei dem neuen programm, weil hatte es vorher über nen andren port... dass ich auf so was nicht komme :wall: trotzdem danke!


// EDIT: die progressbar ist eine zeile untendrunter :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:24 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