AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Socketfehler 10061

Ein Thema von xpmstos · begonnen am 17. Jun 2003 · letzter Beitrag vom 23. Jun 2003
Antwort Antwort
xpmstos

Registriert seit: 24. Mär 2003
19 Beiträge
 
Delphi 7 Enterprise
 
#1

Socketfehler 10061

  Alt 17. Jun 2003, 13:39
Guten Tag,

ich erhalte folgende exeption: "Asynchroner Socketfehler 10061"
ich habs auf Windows 2000 Prof, Windows XP Home Edition & Windows XP Prof. getestet (bei XP ist die Standard-Firewall deaktiviert)

Aus dem PSDK:

Zitat:
WSAECONNREFUSED
(10061)
Connection refused.
No connection could be made because the target machine actively refused it. This usually results from trying to connect to a service that is inactive on the foreign host—that is, one with no server application running.
Und hier die sinngemässe deutsche Übersetzung der Fehler-Beschreibung (Winsock Fehlermeldungen):

Zitat:
10061 WSAECONNREFUSED Angerufener möchte keinen Verbindungsaufbau
Hier mein Server-Code:

Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Client: TClientSocket;
    Server: TServerSocket;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  strCommand: string;
begin
  begin
    Server.Port:=44044;
    Client.Port:=44044;
    Client.Host:=Edit1.Text; // Client-IP z.b.: 192.168.0.1
    Server.Open;
    Client.Open;
    strCommand:='Command1';
    if Client.Active = true then
    begin
      Client.Socket.SendText(strCommand);
    end;
    Client.Close ;
    Server.Close ;
    strCommand:= '';
  end;
end;

end.
Leider habe ich noch keine Lösung für dieses Problem gefunden.

gruß xpmstos
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#2
  Alt 17. Jun 2003, 18:44
Wie die Fehlermeldung sagt, der Fehler liegt nicht bei dir, sondern bei deinem Verbindungsziel. Es lehnt die Verbindung ab. Wahrscheinlich existiert kein Server an dem von dir angegebenen Socket.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Benutzerbild von thomasdrewermann
thomasdrewermann

Registriert seit: 8. Jun 2002
Ort: Herne
575 Beiträge
 
Delphi 3 Professional
 
#3
  Alt 17. Jun 2003, 20:39
Wenn du das Schliessen der Sockets weg lässt kommt der Fehler nicht.
Sport ist mord...
  Mit Zitat antworten Zitat
xpmstos

Registriert seit: 24. Mär 2003
19 Beiträge
 
Delphi 7 Enterprise
 
#4
  Alt 23. Jun 2003, 11:43
@ thomasdrewermann:
danke für den tip, habe es ausprobiert, leider kommt immer noch der selbe fehler, entweder wird die exception automatisch abgefangen (ich habe keine exceptions eingebaut) und eine message erscheint, oder der debugger meldet sich mit dieser fehlermeldung.

leider hatte ich es auch schon früher mal unter delphi 6 hingekriegt, und und delphi 7 auch, nur jetzt auf einmal wills nicht mehr...

@ Chewie:
ich erhalte diese fehlermeldung nur wenn ich den string an eine existierende IP sende (client muss an sein), ansonsten passiert keine reaktion. wenn ich auf meinem client den client laufen lasse erhalte ich ebenfalls diese fehlermeldung. als OS für den client teste ich mit w2k-prof, entwickle und teste den server auf win xp prof. hier mal den code vom client:

Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Client: TClientSocket;
    Server: TServerSocket;
    procedure ServerClientRead(Sender: TObject; Socket: TCustomWinSocket);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.ServerClientRead(Sender: TObject; Socket: TCustomWinSocket);
var
  strCommand: string;
begin
  strCommand:=Socket.ReceiveText;
  if(strCommand='Command1') then
  begin
    Label1.Caption := 'Signal erhalten';
  end;
  strCommand := '';
end;
end.
  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 09:36 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