![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 566 Pomógł: 35 Dołączył: 21.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witajcie!
Pisząc serwer w PHP natknąłem się na mały problem - jak sprawdzić czy dany zasób (nadal) jest streamem? Mianowicie chodzi o to, że używam systemowy "budzik" czyli stream_select() wraz z timeoutem na 120 sekund, jednakże po "wybudzeniu" dostaję dwie tablice - read i write - gdy jednak obrobię write może się okazać, że sockety będące we write są już nieaktualne (zostały rozłączone w procesie sprawdzania w read). Może brzmi to chaotycznie ale kod powinien rozjaśnić sprawę: Kod $read = $write = $clientsSockets; $modFd = stream_select($read, $write, $_e=NULL, 120); foreach($read as $readCl) { if([jakis warunek]) fclose($readCl); } foreach($write as $writeCl) echo stream_socket_get_name($writeCl, true); //Błąd jesli warunek [jakis warunek] zostal spelniony] Chciałbym zaniechać akcji (w tym wypadku pobrania nazwy) gdy socket już nie jest socketem. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 18:47 |