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
 
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
 


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 01:24 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