X-Git-Url: https://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2FObj%2Fsac-a-push.phh;h=cd0d6abb81bd0dc67a4795876e9d90fca90ac431;hb=2a82f64f7c99c99b0c38fa2911ddfda0b6609ae7;hp=746f7ecdb54ca67dc49f1212a4a913f5b6d399db;hpb=123416d979e44c2cf3403fffc23fe99c8d6d80d5;p=brisk.git diff --git a/web/Obj/sac-a-push.phh b/web/Obj/sac-a-push.phh index 746f7ec..cd0d6ab 100644 --- a/web/Obj/sac-a-push.phh +++ b/web/Obj/sac-a-push.phh @@ -346,7 +346,6 @@ class Sac_a_push { else { if (($buf = fread($sock, 512)) === FALSE) { printf("error read\n"); - exit(123); } else if (strlen($buf) === 0) { if ($sock === $this->list) { @@ -371,7 +370,7 @@ class Sac_a_push { } } else { - if ($debug > 1) { + if ($this->debug > 1) { print_r($read); } if ($sock === $this->list) { @@ -405,10 +404,18 @@ class Sac_a_push { 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(); } @@ -418,7 +425,8 @@ class Sac_a_push { } if ($response != "") { - echo "SPIA: [".substr($response, 0, 60)."...]\n"; + // echo "SPIA: [".substr($response, 0, 60)."...]\n"; + echo "SPIA: [".$response."...]\n"; $response_l = mb_strlen($response, "ASCII"); $wret = @fwrite($sock, $response); if ($wret < $response_l) {