![]() |
bekomme asynchronous socket error 10060 nicht uner Kontrolle
Hallo zusammen ^^
Ich habe folgendes Problem: Zum Einstieg in Server und Clientverwendung wollte ich erstmal einen kleinen chat programmieren. Nun besteht aber das Problem, dass ich immer folgenden Fehler erhalte, was natürlich klar ist, wenn der andere PC das Programm noch nicht gestartet hat: asynchronous socket error 10060 . Dann wollte ich den Fehler einfach umgehen und habe jetz folgenden Quelltext vorliegen, aber es klappt wie immer nicht ^^ Der Fehler tauscht weiterhin auf :wiejetzt: :
Delphi-Quellcode:
bin neu, also nicht mit Verbesserungsvorschlägen bombardieren ^^ ;)
procedure TForm1.Beenden1Click(Sender: TObject);
begin ServerSocket.active:=false; //server schließen ClientSocket.active:=false; //client schließen close end; procedure TForm1.StartButtonClick(Sender: TObject); begin nick:=nickEdit.text; Timer.Enabled:=true; GroupBox1.Visible:=false; ChatGB.Visible:=true; //server ServerSocket.Port := 23; //Festlegung des Ports ServerSocket.active := true; //Aktivierung der ServerSocket //client if ip1Edit.text<>'' then begin ClientSocket.Port := 23; //Festlegung des Ports ClientSocket.Host := ip1Edit.text; //IP des Zielrechners try ClientSocket.active := true; //Aufbau der Verbindung ? finally ClientSocket.active := true; //Aufbau der Verbindung end; end; if ip2Edit.text<>'' then begin ClientSocket1.Port := 23; //Festlegung des Ports ClientSocket1.Host := ip2Edit.text; //IP des Zielrechners try ClientSocket1.active := true; //Aufbau der Verbindung ? finally ClientSocket1.active := true; //Aufbau der Verbindung end; end; if ip3Edit.text<>'' then begin ClientSocket2.Port := 23; //Festlegung des Ports ClientSocket2.Host := ip3Edit.text; //IP des Zielrechners try ClientSocket2.active := true; //Aufbau der Verbindung ? finally ClientSocket2.active := true; //Aufbau der Verbindung end; end; if ip4Edit.text<>'' then begin ClientSocket3.Port := 23; //Festlegung des Ports ClientSocket3.Host := ip4Edit.text; //IP des Zielrechners try ClientSocket3.active := true; //Aufbau der Verbindung ? finally ClientSocket3.active := true; //Aufbau der Verbindung end; end; end; procedure TForm1.ServerSocketClientRead(Sender: TObject; Socket: TCustomWinSocket); begin Memo.Lines.Add(Socket.ReceiveText); //Texteingang von Clients end; procedure TForm1.OKButtonClick(Sender: TObject); var text:string; begin text:='['+nick+']: '+TextEdit.text; //nick in chat eingefügt Memo.Lines.Add(text); if ClientSocket.Active then ClientSocket.Socket.SendText(text); //senden der Nachricht 1 if ClientSocket1.Active then ClientSocket1.Socket.SendText(text); //senden der Nachricht 2 if ClientSocket2.Active then ClientSocket2.Socket.SendText(text); //senden der Nachricht 3 if ClientSocket3.Active then ClientSocket3.Socket.SendText(text); //senden der Nachricht 4 TextEdit.Text:=''; end; procedure TForm1.aktualisieren1Click(Sender: TObject); begin x:=9 end; procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin case Key of // abfrage welche taste**** VK_RETURN: // return begin OKButton.Click; Key:=0; // Taste auf 0 gesetzt end; end; end; procedure TForm1.Clienthinzufgen1Click(Sender: TObject); begin GroupBox1.Visible:=true; ChatGB.Visible:=false; Timer.enabled:=false; end; procedure TForm1.FormCreate(Sender: TObject); begin x:=9; Form1.StatusBar1.Panels[0].Text:= 'LAN-chat'; Form1.StatusBar1.Panels[1].Text:= 'v 1.0'; Form1.StatusBar1.Panels[2].Text:= '(c) Ppirokke'; Form1.StatusBar1.Panels[3].Text:= '@ beta'; end; procedure TForm1.TimerTimer(Sender: TObject); begin x:=x+1; if x=10 then begin if ip1Edit.text<>'' then begin ClientSocket.Port := 23; //Festlegung des Ports ClientSocket.Host := ip1Edit.text; //IP des Zielrechners try ClientSocket.active := true; //Aufbau der Verbindung ? finally ClientSocket.active := true; //Aufbau der Verbindung end; end; if ip2Edit.text<>'' then begin ClientSocket1.Port := 23; //Festlegung des Ports ClientSocket1.Host := ip2Edit.Text; //IP der Verbindung try ClientSocket1.active := true; //Aufbau der Verbindung ? finally ClientSocket1.active := true; //Aufbau der Verbindung end; end; if ip3Edit.text<>'' then begin ClientSocket2.Port := 23; //Festlegung des Ports ClientSocket2.Host := ip3Edit.text; //IP des Zielrechners try ClientSocket2.active := true; //Aufbau der Verbindung ? finally ClientSocket2.active := true; //Aufbau der Verbindung end; end; if ip4Edit.text<>'' then begin ClientSocket3.Port := 23; //Festlegung des Ports ClientSocket3.Host := ip4Edit.text; //IP des Zielrechners try ClientSocket3.active := true; //Aufbau der Verbindung ? finally ClientSocket3.active := true; //Aufbau der Verbindung end; end; x:=1; Form1.StatusBar1.Panels[4].Text:= 'Aktualisierung läuft'; end; if x=2 then Form1.StatusBar1.Panels[4].Text:= ''; end; procedure TForm1.ClientSocket3Error(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer); begin MemoFail.Lines.Add(ip4Edit.text+' Antw. nicht'); end; procedure TForm1.ClientSocket2Error(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer); begin MemoFail.Lines.Add(ip3Edit.text+' Antw. nicht'); end; procedure TForm1.ClientSocket1Error(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer); begin MemoFail.Lines.Add(ip2Edit.text+' Antw. nicht'); end; procedure TForm1.ClientSocketError(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer); begin MemoFail.Lines.Add(ip1Edit.text+' Antw. nicht'); end; end. |
Re: bekomme asynchronous socket error 10060 nicht uner Kontr
Wenn du in der onErrorevent Procedure, nach der Fehlerbehandlung den Errorcode auf 0 setzt gibt es(ausser im Debugmodus) keine Exception mehr. Probier das mal aus!
gruss Evian |
Re: bekomme asynchronous socket error 10060 nicht uner Kontr
Tatsache!!!
Super hat mir auch sehr geholfen. |
Re: bekomme asynchronous socket error 10060 nicht uner Kontr
Ich bedank mich auch nochma herzlich, hat geklappt! :)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:33 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz