X-Git-Url: http://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2Fspush%2Fbrisk-spush.php;h=d39ba04e5236b6600b8e3bb8ec3a5449da3f0428;hb=192dfc6558fbebf34ebda89218ca1418c1858f00;hp=db8724e371a5494afcd77afee8f6e4cf069a4e9d;hpb=84d41583aa4fcd9abfc89f97a6d655877ab6a198;p=brisk.git diff --git a/web/spush/brisk-spush.php b/web/spush/brisk-spush.php index db8724e..d39ba04 100755 --- a/web/spush/brisk-spush.php +++ b/web/spush/brisk-spush.php @@ -262,9 +262,18 @@ function main() $user->rd_socket_set(NULL); } - $body = ""; - index_rd_ifra_init($room, $user, $header_out, $body, $get, $post, $cookie); - fwrite($new_socket, headers_render($header_out).$body); + $content = ""; + index_rd_ifra_init($room, $user, $header_out, $content, $get, $post, $cookie); + $content_l = mb_strlen($content, "ASCII"); + + $wret = @fwrite($new_socket, headers_render($header_out).$content); + if ($wret < $content_l) { + printf("TROUBLES WITH FWRITE: %d\n", $ret); + $user->rd_cache_set(mb_substr($content, $ret, $content_l - $ret, "ASCII")); + } + else { + $user->rd_cache_set(""); + } fflush($new_socket); $s2u[intval($new_socket)] = $idx; @@ -335,21 +344,21 @@ function main() foreach ($socks as $k => $sock) { if (isset($s2u[intval($sock)])) { $user = $room->user[$s2u[intval($sock)]]; - $body = $user->rd_cache_get(); - if ($body == "") - index_rd_ifra_main($room, $user, $body); + $content = $user->rd_cache_get(); + if ($content == "") + index_rd_ifra_main($room, $user, $content); - if ($body == "" && $user->rd_kalive_is_expired($curtime)) { - $body = index_rd_ifra_keepalive($user); + if ($content == "" && $user->rd_kalive_is_expired($curtime)) { + $content = index_rd_ifra_keepalive($user); } - if ($body != "") { - echo "SPIA: [".substr($body, 0, 60)."...]\n"; - $body_l = mb_strlen($body, "ASCII"); - $ret = @fwrite($sock, $body); - if ($ret < $body_l) { - printf("TROUBLE WITH FWRITE: %d\n", $ret); - $user->rd_cache_set(mb_substr($body, $ret, $body_l - $ret, "ASCII")); + if ($content != "") { + echo "SPIA: [".substr($content, 0, 60)."...]\n"; + $content_l = mb_strlen($content, "ASCII"); + $wret = @fwrite($sock, $content); + if ($wret < $content_l) { + printf("TROUBLE WITH FWRITE: %d\n", $wret); + $user->rd_cache_set(mb_substr($content, $wret, $content_l - $wret, "ASCII")); } else { $user->rd_cache_set("");