AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi SocketFehler #10053 und 10057
Thema durchsuchen
Ansicht
Themen-Optionen

SocketFehler #10053 und 10057

Ein Thema von Hanswurst · begonnen am 20. Sep 2003 · letzter Beitrag vom 27. Jun 2008
Antwort Antwort
Seite 1 von 2  1 2      
Hanswurst

Registriert seit: 21. Mai 2003
Ort: Mittelfranken
118 Beiträge
 
Delphi 7 Enterprise
 
#1

SocketFehler #10053 und 10057

  Alt 20. Sep 2003, 09:40
Servus
ich bin grad dabei , ein Tool für meinen Clan zu schreiben , mittlerweile bin ich bei der ChatFucnktion ..
ich verwende D7 und die nachinstallierten WinSocks , da die INDYs bei mir net so richtig funzen ..

bisher hatt immer alles wuderbar geklappt , nur jetzt meint der Server , wenn der Client ne Nachricht schreibt :
Windows-Socket-Fehler: EIne Anforderung zum Senden oder Empfangen von Daten wurde verhindert , da der Socket nicht verbunden ist und (beim Senden über einen Datagrammsocket mit einem SendTo-Aufruf) keine Adresse angegeben wurde (10057) , auf API recv

und der Client meint:
Asynchroner Socketfehler #10053

was ja bedeuten würde , dass der Server den Client "unwissentlich" kickt und meckert , dass er die Daten vom Client nicht erhalten kann ...

ich weis , dass mein Problem schon in 2 Threads erwähnt wird , aber bei keinem wurde bisher eine Lösung gepostet

DANKE
CU
  Mit Zitat antworten Zitat
Hanswurst

Registriert seit: 21. Mai 2003
Ort: Mittelfranken
118 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: SocketFehler #10053 und 10057

  Alt 20. Sep 2003, 09:49
Ich nochmal
jetzt hab ich mir mal schnell 2 Proggis , einer mit WinSockClient und einen mit Server zusammengebaut , und es kommt der gleiche Fehler ..
nur jetzt meckert nurnoch der Server und der Client disconnected schön brav ..

Client:
Code:
procedure TForm1.Button1Click(Sender: TObject);
begin
ClientSocket1.Host:=edit1.Text;
ClientSocket1.Port:=SpinEdit1.Value;
ClientSocket1.Active:=true;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
ClientSocket1.Socket.Close;
ClientSocket1.Active:=false;
end;

procedure TForm1.ClientSocket1Read(Sender: TObject;
  Socket: TCustomWinSocket);
begin
Memo1.Lines.Add(ClientSocket1.Socket.ReceiveText);
end;
Server:
Code:
rocedure TForm1.Button1Click(Sender: TObject);
begin
ServerSocket1.Port:=SpinEdit1.Value;
ServerSocket1.Active:=true;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
ServerSocket1.Close;
ServerSocket1.Active:=false;
end;

procedure TForm1.ServerSocket1ClientWrite(Sender: TObject;
  Socket: TCustomWinSocket);
begin
Memo1.Lines.Add(ServerSocket1.Socket.ReceiveText);
end;
irgendwie seltsam ...
das einzige , was zum disconnecten da ist , ist jeweils der Button2
sonst nichts ..

CU
  Mit Zitat antworten Zitat
ATwardz

Registriert seit: 12. Mai 2003
205 Beiträge
 
Delphi 7 Professional
 
#3

Re: SocketFehler #10053 und 10057

  Alt 23. Sep 2003, 21:49
Hi,
ich habe es zwar noch nicht ausprobiert aber schreibe einfach anstatt:

Memo1.Lines.Add(ServerSocket1.Socket.ReceiveText); Memo1.Lines.Add(Socket.ReceiveText); Ich hatte zumindest früher schon dieses Problem und das war die Lösung auf die ich erst nach Stunden gekommen bin! Warum der das nicht akzeptiert, keine Ahnung! Muss man halt so hinnehmen! Aber das müsste eigentlich der Fehler sein!

@wardz
  Mit Zitat antworten Zitat
ATwardz

Registriert seit: 12. Mai 2003
205 Beiträge
 
Delphi 7 Professional
 
#4

Re: SocketFehler #10053 und 10057

  Alt 23. Sep 2003, 21:54
Ach ja eines noch wieso vertauschts du eigentlich Server und Client, dann fehlen dir doch schöne Proceduren wie connecting,Error,OnRead,....

Wieso machst du das nicht so von der Art her?Nur ein Tipp!

Server:

Delphi-Quellcode:

procedure TForm1.FormCreate(Sender: TObject);
begin
  Server.Port:=25544;
  server.Open;
end;

procedure TForm1.ServerClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  MessageDlg(Socket.ReceiveText, mtInformation, [mbOK], 1);
  Form1.Caption:='nachricht';
end;

procedure TForm1.ServerClientConnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  Form1.Caption:='connected';
end;

procedure TForm1.ServerClientDisconnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  Form1.Caption:='Disconnected';
end;
CLIENT:

Delphi-Quellcode:

procedure TForm1.Button1Click(Sender: TObject);
begin
  client.Port:=25544;{muss der gleiche sein}
  client.Address:=Edit1.Text;{IP oder PC-name}
  client.Open;
end;

procedure TForm1.ClientConnect(Sender: TObject; Socket: TCustomWinSocket);
begin
  Form1.Caption:='connected';
end;

procedure TForm1.ClientDisconnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  Form1.Caption:='disconnected';
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Client.Close;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  client.Socket.SendText(Edit2.Text);
end;
@wardz
  Mit Zitat antworten Zitat
T-Olli

Registriert seit: 24. Sep 2003
4 Beiträge
 
#5

Re: SocketFehler #10053 und 10057

  Alt 24. Sep 2003, 11:30
Du hast nicht zufällig gerade eine Personal Firewall in Betrieb genommen. An so einem blöden Fehler hab ich auch schon mal länger gesucht.
  Mit Zitat antworten Zitat
Hanswurst

Registriert seit: 21. Mai 2003
Ort: Mittelfranken
118 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: SocketFehler #10053 und 10057

  Alt 26. Sep 2003, 12:54
Servus
@T-Olli
ne Firewall hab ich momentan NICHT drauf , da NIS 2003 nach nem Update in WindoofXP ne "Startverzögerung" einbaut ..

normales Booten:
Einschaltknopf drücken , Bios , ggf (SCSI-, Raid-, IDE-) Controller , WindowsXP Bootscreen , Startbildschirm (~10 Sec) , "HochfahrSound" , Hintergrundproggis

mit Update:
Einschaltknopf drücken , Bios , ggf (SCSI-, Raid-, IDE-) Controller , WindowsXP Bootscreen , Startbildschirm (~60 Sec) , HIntergrundproggis , nach ca 5 Min "HochfahrSound" und erst danach kann man andere Proggis ausführen ..

und ZoneAlarm macht eh NUR Probleme ..

@ATwardz
1.wieso habe ich Client und Server vertauscht ??? und warum sollen dann die "schönen" Prozeduren wie OnRead , OnError usw wegfallen ???
2.will ich nicht wie in deinem Bsp die Empfangene Nachricht in eine MsgBox , sondern in ein Memo/RTF-Feld schreiben
oder meinst du , warum ich die nicht gepostet habe ?? ich hab die Errorbehandlung usw nicht gepostet , da die ja NICHTS mit dem Problem zu tun hat ..

trotzdem ein vorläufiges Danke an euch
CU
  Mit Zitat antworten Zitat
ATwardz

Registriert seit: 12. Mai 2003
205 Beiträge
 
Delphi 7 Professional
 
#7

Re: SocketFehler #10053 und 10057

  Alt 26. Sep 2003, 13:56
Hast du serversocket1 mal weg gelassen, nei mir funkst dein code dann!
  Mit Zitat antworten Zitat
Hanswurst

Registriert seit: 21. Mai 2003
Ort: Mittelfranken
118 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: SocketFehler #10053 und 10057

  Alt 27. Sep 2003, 09:30
Servus
ich hab mal ClientSocket1 und ServerSocket1 aus dem Code entfernt ..
jetzt gibt mir der Server trotzdem noch die selbe Fehlermeldung , nur nichtmehr der Client und wenn ich vom Client zum Server was schreibe , dann ist mein Client einfach disconnected ...

@ATwardz
könntest du mir mal bitte deinen Code/einen Teil davon schicken ??
nicht , dass es an meinem PC liegt , was aber eher unwahrscheinlich ist ..
bei Windows weis man ja nie

Danke
CU
  Mit Zitat antworten Zitat
ATwardz

Registriert seit: 12. Mai 2003
205 Beiträge
 
Delphi 7 Professional
 
#9

Re: SocketFehler #10053 und 10057

  Alt 27. Sep 2003, 14:00
Der Server hat keine Adresse an die er seine Nachricht schicken kann,
daher kommt immer die Fehlermeldung!
Leider habe ich keine Möglichkeit gefunden vom Server aus zu senden!
Ich würde an deiner Stelle ein Programm schreiben welches jeweils einen server und
einen Client hat!
Ich habe ein Beispiel Programm beigefügt!
Wenn du dich auf einen Port festlegen willst kannst du die Server auch schon
beim Formcreate öffnen, wichtig ist halt nur das du für beide verbindungen einen
unterschiedlichen Port benutzt!

@wardz

Angehängte Dateien
Dateityp: zip chat_165.zip (208,0 KB, 50x aufgerufen)
  Mit Zitat antworten Zitat
Hanswurst

Registriert seit: 21. Mai 2003
Ort: Mittelfranken
118 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: SocketFehler #10053 und 10057

  Alt 28. Sep 2003, 17:12
Danke ATWardz für das Beispiel !!

nur hast du die Unit1.pas vergessen

auf gutes programmieren
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 11:59 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