C# PHP 客户端长轮询

本文关键字:客户端 PHP | 更新日期: 2023-09-27 18:36:33

我已经找到了将近两天的时间,找不到任何关于 c# 客户端长轮询的教程。谁能给我一个例子或帮助我解决这个问题。所以,这是我的php文件。

乙.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;  
    ?>

第二.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# PHP 客户端长轮询

这里有一个很好的教程:

http://www.asp.net/signalr/overview/signalr-20/getting-started-with-signalr-20/tutorial-getting-started-with-signalr-20