Witam,
Mam taki problem chciałby zwolnić wykonywanie pętli while a oto dlaczego, poniżej kod
TcpClient klient1;
Stream strumien1;
int attempts = 0;
while(true)
{
try
{
klient1 = new TcpClient(adresIPS, 3301);
// Get the NetworkStream object
strumien1 = klient1.GetStream();
byte[] tabWej = new byte[1024];
while (klient1.Connected)
{
int ile = strumien1.Read(tabWej, 0, tabWej.Length);
String lanc1 = Encoding.ASCII.GetString(tabWej);
lanc1 = lanc1.Remove(ile, lanc1.Length - ile);
CzytajStrumien(lanc1);
}
klient1.Close();
break;
}
catch (SocketException)
{
Console.Clear();
Console.WriteLine("Próba poloczenia - {0}", attempts + 1);
//Console.ReadLine();
}
catch (IOException)
{
Console.WriteLine("Zerwano połączenie pliki utracone");
attempts = 0;
}
catch (Exception e)
{
Console.WriteLine(e);
}
attempts++;
}
Jak widać tworzę połączenie z serwerem, i teraz gdy wyłączę serwer podczas trwania połączenia ładnie while przechodzi do catch (SocketException) i wypisuje Próby połączenie 1,2,3 itd., jednak gdy dojdzie do zerwania połączenia internetowego -> Próby połączenia - przyspieszają niesamowicie i w przeciągu sekundy ma 1000 prób i za chwilę aplikacja się wykłada bo zapewne przekracza wartość int. Czy idzie to jakoś spowolnić, a może robię coś źle.
Z góry dziękuje za podpowiedź.