}
$write = NULL;
$except = NULL;
- $num_changed_sockets = stream_select($read, $write, $except, 0, 250000);
+ $num_changed_sockets = stream_select($read, $write, $except, 5, 0);
if ($num_changed_sockets == 0) {
printf(" no data in 5 secs ");
if (isset($this->s2u[intval($sock)])) {
$user = $this->s2u[intval($sock)];
$response = $user->rd_cache_get();
+ if (($this->curtime - $user->lacc) <= (EXPIRE_TIME_RD / 2)) {
+ $user->ping_req = FALSE;
+ }
if ($response == "") {
$content = "";
$user->stream_main($content, $get, $post, $cookie);
-
+ printf("[%s] [%d] [%d]\n", $user->name, $user->lacc, $this->curtime);
+ if ($content == "" && $user->ping_req == FALSE
+ && (($this->curtime - $user->lacc) > (EXPIRE_TIME_RD / 2))) {
+ $content = $user->stream_ping();
+ $user->ping_req = TRUE;
+ }
if ($content == "" && $user->rd_kalive_is_expired($this->curtime)) {
$content = $user->stream_keepalive();
}