Avatar
Marek
Člen
Avatar
Marek:

Zdar,
potřeboval bych poradit. Mám navázáno několik TcpClient spojení uložených v seznamu. Lze nějak ověřit, zdali jsou stále platná (online)? Vím jak projít jednotlivé klienty v seznamu, ale nevím podmínku. Napadlo mě poslat každému třeba jeden byte. Ale existuje určitě lepší cesta, třeba nějaká metoda klient.metodaxy vracející bool stav připojení. Nevíte někdo o něčem prosím?

 
Odpovědět 11. října 20:59
Avatar
Elisse
Člen
Avatar
Elisse:

Ahoj, to by mě taky zajímalo! :D Já to prozatím řeším tak že když někdo zavře klienta odešlu zprávu na server, že se odpojuje, nicméně při pádu internetu nebo ukončení programu v procesech taky nevím jak to nějak hezky na straně serveru poznat :(

 
Nahoru Odpovědět 12. října 15:14
Avatar
niderle.l
Člen
Avatar
Odpovídá na Marek
niderle.l:

Osobně používám na tento dotaz následující možnost:

if (tcp.Connected)
{
 // zde je práce
}

Takto aspoň to zatím zjišťuji, ale možná taky existuje lepší způsob jak toho docílit.

 
Nahoru Odpovědět 12. října 15:33
Avatar
Marek
Člen
Avatar
Odpovídá na niderle.l
Marek:

No, když potřebuji ověřit, zdali připojení nepadlo (ztráta připojení k internetu nebo násilné ukončení) tak při použití tvého řešení (mírně upraveného, pouze negací) mi to nic neprovede, nevíš čím to? Nebo tato fce není k tomuto ověřování určena.

if (!tcp.Connected)
{
  // práce
}
 
Nahoru Odpovědět 17. října 16:46
Avatar
Lukas C#
Redaktor
Avatar
Odpovídá na Marek
Lukas C#:

Netestoval jsem to, ale myslím že chceš vlastnost Alive

 
Nahoru Odpovědět 17. října 17:02
Avatar
Marek
Člen
Avatar
Odpovídá na Lukas C#
Marek:

Aněco bližšího prosím? Zkoušel jsem, ale "tcp.Alive" není a google mi nic bližšího nenašel.

 
Nahoru Odpovědět 17. října 17:25
Avatar
niderle.l
Člen
Avatar
Odpovídá na Marek
niderle.l:

No já to používal při posílání zpráv na server tak, že pokud mi to zahlásilo, že není spojení, tak ho vytvořil. Ale pokud máš dále problém jako já, že i po otevření psojení je nutné komunikovat se serverem v určitém intervalu, tak Ti bohužel asi nezby nic jiného než si vytvořit tzv. kontrolní transakci, která se bude posílat, aby se spojení udrželo.

 
Nahoru Odpovědět 18. října 9:28
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.