195 ¹ø ±Û: [PHP] socket_connect_status |
±Û¾´ÀÌ: »êÀÌ
[ȨÆäÀÌÁö]
|
±Û¾´³¯: 2009³â 01¿ù 27ÀÏ 20:41:33 È(Àú³á) |
Á¶È¸: 2644 |
php socket °ü·Ã ÇÔ¼öÁß¿¡¼ socket »óŸ¦ üũÇÏ´Â ÇÔ¼ö°¡ ¾ø¾î¼...
get_socket_status() ÀÇ ÆĶó¸ÞŸ´Â stream À̱⠶§¹®¿¡ socket À» ÆĶó¸ÞÅÍ·Î »ç¿ëÇÒ ¼ö
¾øÀ½
----------------------------------
## chkeck socket is ESTABLISHED ?
## return value
## -1 : $sock is empty or is not resource
## 0 : $sock event happend(is not ESTABLISHED)
## 1 : $sock is ESTABLISHED
##
function socket_connect_status(&$sock)
{
if(!$sock || !@is_resource($sock)) return -1;
## 0 Success
## 1 Operation not permitted
## 56 Socket is already connected
## 106 Transport endpoint is already connected
##
$ecode = @socket_last_error($sock);
if($ecode!=106 && $ecode!=56) return 0; // is not connected
$r = array($sock);
$s = @socket_select($r,$w=NULL,$e=NULL,0);
## $s === 0 nothing interesting happened => ESTABLISHED
## $s > 0 some something interesting happened
## $s === FALSE socket_select() error
##
return ($s===0) ? 1 : 0;
}
----------------------------------
|
ÀÌÀü±Û : [PHP] imitative Async I/O non-block exec
´ÙÀ½±Û : [C] libevent »ç¿ë¿¹Á¦
|
from 211.212.239.50
JS(Redhands)Board 0.4 +@
|