Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sprawdzanie czy zmienna zawiera prawidłowy stream socket
kiler129
post
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.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 18:47