我發現將近兩天,找不到關於c#客戶端長輪詢的任何教程。任何人都可以給我一個例子或幫助我解決這個問題。所以,這是我的PHP文件。c#php客戶端長輪詢
b.php
<?
set_time_limit(0);
$file = 'test.txt';
$js_time = !empty($_GET['time']) ? intval($_GET['time']) : 0;
$file_time = filemtime($file);
while($file_time <= $js_time){
usleep(10000);
clearstatcache();
$file_time = filemtime($file);
}
$info = file_get_contents($file);
echo $info;
?>
Second.php
function test(){
var aj;
try{aj=new ActiveXObject("Msxml2.XMLHTTP");}
catch(e){
try{aj=new ActiveXObject("Microsoft.XMLHTTP");}
catch(E){aj=false;}
}
var time = Math.round(new Date().getTime()/1000);
if(!aj&&typeof XMLHttpRequest!=undefined)aj=new XMLHttpRequest();
aj.open("GET","b.php?time="+time,true);
aj.setRequestHeader('Content-Type','application/x-www-form-urlencoded;charset=utf-8');
aj.onreadystatechange=function(){
if(aj.readyState==4&&aj.status==200){
document.getElementById("test").innerHTML = aj.responseText;
test();
//alert('aa');
}
}
aj.send(null);
}
test();
</script>
C#
string URL = "http://localhost/gcm_server_php/b.php?time=" + DateTime.Now.ToString() ;
WebClient webClient = new WebClient();
string responseBytes = webClient.DownloadString(URL);
string responsefromserver = responseBytes;
a.Content=responsefromserver;
webClient.Dispose();
使用此C#代碼只能獲得一次。任何人都可以幫助我使用c#來長時間輪詢b.php嗎?感謝幫助,併爲我可憐的英語感到抱歉。 :(
這裏是C#在這個 – Patel
如果您使用的是C#,有你看着signalr – Fisch
編輯我的問題,已經貼上我的C#代碼請再次檢查!非常感謝! – user2739955