Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Asynchronous socket error 10061 (https://www.delphipraxis.net/27569-asynchronous-socket-error-10061-a.html)

update 12. Aug 2004 10:39


Asynchronous socket error 10061
 
Bekomme immer den Fehler wenn ich im Client auf den Connect Button klicke, Host und Nickname sind eingegeben koreeekt ,ports bei Server und CLient gleich , hab auch mehrere probiert.

Danke für die Hilfe

Hier die Codes

Server Code:

Delphi-Quellcode:
unit Unit1;

interface

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

type
TForm1 = class(TForm)
XPManifest1: TXPManifest;
ServerSocket1: TServerSocket;
Memo1: TMemo;
procedure ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var Text:string;
i: Integer;
begin
Text:=Socket.ReceiveText;
Memo1.Lines.add(Timetostr(now)+': '+Text);
For I := 0 to ServerSocket1.Socket.ActiveConnections - 1 do
begin
with ServerSocket1.Socket.Connections [I] do
if (Connected) then SendText(Text);
end;
end;
end.
Client Code

Delphi-Quellcode:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdIPWatch, XPMan,
ScktComp, AppEvnts;

type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
Connect: TButton;
ClientSocket1: TClientSocket;
XPManifest1: TXPManifest;
IdIPWatch1: TIdIPWatch;
Label3: TLabel;
Memo1: TMemo;
ApplicationEvents1: TApplicationEvents;
Button1: TButton;
Edit3: TEdit;
Label4: TLabel;
procedure FormCreate(Sender: TObject);
procedure ConnectClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket);
procedure ClientSocket1Disconnect(Sender: TObject;
Socket: TCustomWinSocket);
procedure Delay(time: word);

private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
Nickname:string;
IP:string;

implementation

procedure TForm1.delay(time:word);
var Start: Integer;
begin
Start:=GetTickCount;
while (GetTickCount)-(Start) <= time do
Application.ProcessMessages;
end;
{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
Label3.caption:=idipwatch1.LocalIP;
Memo1.clear;

end;

procedure TForm1.ConnectClick(Sender: TObject);
var naricht:string;
begin
Nickname:=edit1.text;
clientsocket1.Host:=edit2.text;
naricht:=Nickname+': Hat den Raum betreten ';
clientsocket1.active:=true;
If (Nickname<>'') and (clientsocket1.host <>'')
then
begin

delay(500);
clientsocket1.socket.sendtext(Naricht)
end

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if (ClientSocket1.Active=true) and (Edit3.Text<>'') then
ClientSocket1.Socket.SendText(Nickname+': '+Edit3.Text);
edit3.text:='';
end;

procedure TForm1.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);
begin
Form1.Show;
Memo1.Lines.Add(Socket.ReceiveText);
end;

procedure TForm1.ClientSocket1Disconnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
ClientSocket1.Socket.SendText(Nickname +' hat den Chat verlassen.');
ClientSocket1.Close;
end;

end.

Steran 12. Aug 2004 11:47

Re: Asynchronous socket error 10061
 
Hi!

Hast du den ServerSocket schon auf Active gesetzt?
Wenn ich das mache, funktionierts bei mir ;-)

Gruß

Steran

update 12. Aug 2004 11:57

Re: Asynchronous socket error 10061
 
hats ja vollkommen recht ;) Danke

Aenogym 12. Aug 2004 12:00

Re: Asynchronous socket error 10061
 
Zitat:

Zitat von Win32 SDK
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 - i.e. one with no server application running.

Aenogym ;)

(edit: huch, war zu lahm... problem ist schon gelöst :) )

update 12. Aug 2004 12:32

Re: Asynchronous socket error 10061
 
Ach, jetzt gehts, aber übers Internet gehts nicht? wieso nicht?

update 12. Aug 2004 17:00

Server/Clientsocket über Internet - Problem
 
Also der Server und Client geht nun wunderbar auf meinem eigenen PC über localhost oder halot einfach die netzwerkIP.

Wenn ich aber mim Freund übers Internet chatten will gehts nicht, er kann nicht connecten mit meiner IP.

Woran kann das liegen?

Muetze1 12. Aug 2004 23:11

Re: Server/Clientsocket über Internet - Problem
 
Moin!

Zitat:

Zitat von update
Woran kann das liegen?

Firewall, Router, nicht weitergeleitete Ports, falsche Ports, fehlende Weiterleitung bei dem Provider auf dem Port?

MfG
Muetze1

update 13. Aug 2004 01:14

Re: Asynchronous socket error 10061
 
Danke für die Antwort, aber hatte dieses Problem schon rausgefunden :-D Gibts irgendein Port , der bei jedem freigeschaltet ist und der dann auch funktioniert? Wenn nicht, isses auch nicht schlimm, Port forwarden ist ja auch nicht die Welt 8)

ach muetze1 hab deinen Chat auch mal angeschaut,um mir was abzuschauen, jedoch kapier ich da nicht wirklich viel, deswegen würde ich mich freuen wenn du irgendwann mal ICQ Online kommst, damit du mir kurz helfen kannst, wenn du zeit und lust hast, danke

mfg
update

Muetze1 13. Aug 2004 09:09

Re: Asynchronous socket error 10061
 
Moin!

Zitat:

Zitat von update
Danke für die Antwort, aber hatte dieses Problem schon rausgefunden :-D Gibts irgendein Port , der bei jedem freigeschaltet ist und der dann auch funktioniert? Wenn nicht, isses auch nicht schlimm, Port forwarden ist ja auch nicht die Welt 8)

Gibt es, aber ich würde dir raten diese nicht zu verwenden, da es z.B. der Port für die DNS Abfragen ist, etc. Leite dir lieber selber einen Port weiter...

Zitat:

Zitat von update
ach muetze1 hab deinen Chat auch mal angeschaut,um mir was abzuschauen, jedoch kapier ich da nicht wirklich viel, deswegen würde ich mich freuen wenn du irgendwann mal ICQ Online kommst, damit du mir kurz helfen kannst, wenn du zeit und lust hast, danke

Och wieso, der ist doch total billig geschrieben - war eigentlich nur mal so ein Beispiel. Und was ICQ angeht: ich bin eigentlich so rund 18 Stunden online in ICQ (pro Tag), nur halt invisible.

MfG
Muetze1


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