PHP Sockets - How to detect client disconnection?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



How do I detect a disconnected client from a socket resource?

In an infinite loop, I socket_read() every open resource that passes a socket_select().  

As far as I know, the only way to detect if the client disconnected unexpectedly from their socket resource is when socket_read() returns FALSE (which, during my testing, produced the warning: "An established connection was aborted by the software in your host machine.").

However, socket_read() doesn't return FALSE on a disconnected client's socket resource until I first attempt to socket_write() to that resource.  

In brief pseudo code...

socket_create(AF_INET, SOCK_STREAM, SOL_TCP) 
while (TRUE) 
  foreach (resource where (false === socket_select($arrayofresources, NULL, NULL, 0, 0))
    if (socket_read() === false) 
        WON'T DETECT DISCONNECT UNTIL I FIRST socket_write()

I appreciate any support you offer and thank you for your time.

Best regards,

-Tony

_________________________________________________________________
Type your favorite song.  Get a customized station.  Try MSN Radio powered by Pandora.
http://radio.msn.com
-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux