AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi bekomme asynchronous socket error 10060 nicht uner Kontrolle
Thema durchsuchen
Ansicht
Themen-Optionen

bekomme asynchronous socket error 10060 nicht uner Kontrolle

Ein Thema von ppirokke · begonnen am 25. Mai 2004 · letzter Beitrag vom 12. Jun 2004
Antwort Antwort
ppirokke

Registriert seit: 25. Mai 2004
Ort: Simmern
16 Beiträge
 
#1

bekomme asynchronous socket error 10060 nicht uner Kontrolle

  Alt 25. Mai 2004, 17:40
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 :

Delphi-Quellcode:
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.
bin neu, also nicht mit Verbesserungsvorschlägen bombardieren ^^
Denkt dran: Das Leben ist wie eine Hühnerleiter:
VON OBEN BIS UNTEN BESCHISSEN
Es ist wie ein Schnitzel:
VON BEIDEN SEITEN BEKLOBBT
  Mit Zitat antworten Zitat
Benutzerbild von Evian
Evian

Registriert seit: 10. Apr 2003
Ort: Berlin
485 Beiträge
 
Delphi 6 Professional
 
#2

Re: bekomme asynchronous socket error 10060 nicht uner Kontr

  Alt 25. Mai 2004, 17:46
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
-> www.Phillsoft.de

Ich bin nun Mathematiker, aber meine Freundin bleibt trotzdem unberechenbar!
  Mit Zitat antworten Zitat
DerSlon

Registriert seit: 8. Jun 2004
3 Beiträge
 
#3

Re: bekomme asynchronous socket error 10060 nicht uner Kontr

  Alt 11. Jun 2004, 17:36
Tatsache!!!
Super hat mir auch sehr geholfen.
  Mit Zitat antworten Zitat
ppirokke

Registriert seit: 25. Mai 2004
Ort: Simmern
16 Beiträge
 
#4

Re: bekomme asynchronous socket error 10060 nicht uner Kontr

  Alt 12. Jun 2004, 23:55
Ich bedank mich auch nochma herzlich, hat geklappt!
Denkt dran: Das Leben ist wie eine Hühnerleiter:
VON OBEN BIS UNTEN BESCHISSEN
Es ist wie ein Schnitzel:
VON BEIDEN SEITEN BEKLOBBT
  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 19:27 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