X-Git-Url: https://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2Fxynt_test01.php;h=6673d34e3111f109bf3e215303e4d1e494056e0b;hb=b41e2233431a8862b741c7eb4c998c1a47263ed7;hp=78aeca04077d5a440b1416a408222ceedb5caf6c;hpb=6b3deca05aae68fbef085dd42861c19e546f8d25;p=brisk.git diff --git a/web/xynt_test01.php b/web/xynt_test01.php index 78aeca0..6673d34 100644 --- a/web/xynt_test01.php +++ b/web/xynt_test01.php @@ -1,6 +1,14 @@ il client aspetta 3 secondi, e poi da 10 a N ogni secondo, (status sempre verde)."); + + +$transs = array( "iframe", "websocket", "xhr", "htmlfile" ); if (!isset($f_trans)) $f_trans = $transs[0]; @@ -25,12 +33,23 @@ function escpush($s) return str_replace($escpush_from, $escpush_to, $s); } +function xcape($s) +{ + $from = array ( '\\', '@', '|' ); + $to = array ( '\\\\', '@', '¦' ); + + return (str_replace($from, $to, htmlentities($s,ENT_COMPAT,"UTF-8"))); +} + if ($isstream == "true") { require_once("Obj/transports.phh"); - if (isset($transp) && $transp == "xhr") { + if (isset($transp) && $transp == "websocket") { + $transp = new Transport_websocket(); + } + else if (isset($transp) && $transp == "xhr") { $transp = new Transport_xhr(); } else if (isset($transp) && $transp == "htmlfile") { @@ -48,8 +67,9 @@ if ($isstream == "true") { else $init_string .= chr(mt_rand(65, 90)); } + $header = array(); - $body = $transp->init("plain", $header_out, $init_string, "", "0"); + $body = $transp->init("plain", $header, $header_out, $init_string, "", "0"); foreach ($header_out as $key => $value) { header(sprintf("%s: %s", $key, $value)); @@ -68,6 +88,15 @@ if ($isstream == "true") { } break; case 2: + // from 1 to 9 into the innerHTML and than close + for ($i = 1 ; $i < 10 ; $i++) { + $chunk = $transp->chunk($i, sprintf("gst.st++; \$('container').innerHTML = gst.st;")); + print($chunk); + mop_flush(); + sleep(1); + } + break; + case 3: // from 1 to 9 with 60 secs after 8, the client js api must restart stream after 12 secs for ($i = 1 ; $i < 10 ; $i++) { $chunk = $transp->chunk($i, sprintf("\$('container').innerHTML = '%d';", $i)); @@ -78,7 +107,7 @@ if ($isstream == "true") { sleep(60); } break; - case 3: + case 4: // from 1 to 9 into the innerHTML and than close for ($i = 1 ; $i < 10 ; $i++) { if ($i != 5) { @@ -92,6 +121,46 @@ if ($isstream == "true") { sleep(1); } break; + case 5: + // from 1 to 9 into the innerHTML and than close + $cont = array('@BEGIN@', '@END@', '@BEGIN@ sleep(1); @END@'); + for ($i = 1 ; $i < 10 ; $i++) { + switch($i) { + case 6: + case 7: + case 8: + $chunk = $transp->chunk($i, sprintf("\$('container').innerHTML = '%s';", xcape($cont[$i - 6]))); + break; + default: + $chunk = $transp->chunk($i, sprintf("\$('container').innerHTML = '%d';", $i)); + break; + } + print($chunk); + mop_flush(); + if ($i < 9) + sleep(1); + } + break; + case 6: + // from 1 to 9 into the innerHTML and than close + if ($step == 8) { + $chunk = $transp->chunk(1, sprintf("gst.st++; \$('container').innerHTML = gst.st;")); + print($chunk); + // without this usleep the delay is doubled in iframe stream because + // no transp.xynt_streaming back-set is performed + usleep(250000); + mop_flush(); + } + else { + for ($i = 1 ; $i < 10 ; $i++) { + $chunk = $transp->chunk($i, sprintf("gst.st++; \$('container').innerHTML = gst.st;")); + print($chunk); + mop_flush(); + if ($i < 9) + sleep(1); + } + } + break; } exit; } @@ -102,6 +171,7 @@ if ($isstream == "true") { + @@ -113,7 +183,7 @@ if ($isstream == "true") { window.onload = function() { xstm = new xynt_streaming(window, "", null /* console */, gst, 'xynt_test01_php', 'sess', sess, null, 'xynt_test01.php?isstream=true&f_test=', function(com){eval(com);}); - /* xstm.hbit_set(heartbit); */ + xstm.hbit_set(heartbit); xstm.start(); } //--> @@ -123,13 +193,10 @@ if ($isstream == "true") {
"); -for ($test = 1 ; $test <= 3 ; $test++) { +for ($test = 1 ; $test <= count($desc) ; $test++) { printf(""); foreach ($transs as $trans) { printf("Test %s %02d", $trans, $test, $trans, $test); @@ -142,6 +209,11 @@ printf("
[%s]
Test: %d
", $f_trans, $f_test);
Descrizione: +
+ +
+Status:
+
Counter: