如何经常使用php接收和发布数据

时间:2018-06-19 12:51:21

标签: php ajax sockets

我想知道我应该怎么做才能经常使用php接收和发布数据。 我真正想要的是接收并发布一个整数变量,该整数变量从服务器到客户端随机每秒更改,并在客户端打印我的变量的值并每秒更新一次。 此问题也用于多人游戏。就像一个变量,该变量在页面上保留字符位置,并发送和接收自身和其他玩家位置值。 我听说过解决套接字问题的一些知识,但是我找不到这个问题的很好来源。 你能帮我怎么做吗。

1 个答案:

答案 0 :(得分:0)

最好的方法是使用套接字。无论如何,我当时也开发了类似的东西。

此代码每秒用服务器时间更新客户端时间:

----------- time.php ------------

echo("{'time' : '".date('D M d Y H:i:s')."'}");

-------- getTimeEverySec.js ----------

function startTime(){
     httpRequest= new XMLHttpRequest();
     httpRequest.open("GET", "time.php",true);
     httpRequest.onreadystatechange=timeLoaded;
     httpRequest.send();
}

function timeLoaded(){
     readyState=httpRequest.readyState;
     if(readyState!=4) return;

     status=httpRequest.status;
     if(status!=200) return;

     serverTime=httpRequest.responseText;
     eval("currentime="+serverTime); //the server side variable is stored in currentime

     var today=new Date(currentime.time);
     hours= today.getHours();
     mins = today.getminutes();
     secs = today.getSeconds();

     document.getElementById("time").innerHTML=h+":"+m+":"+s;
     var t=setTimeout(starTime,500); //recall the function every 0.5 sec
}

------- page.html --------

<H1>Current time</H1>
<p id="time"></p>

总结:该代码每秒钟从服务器获取一次。 “经常”收到的变量是当前服务器时间。您可以使用此示例接收任何变量。替换

echo("{'time' : '".date('D M d Y H:i:s')."'}");

使用您要经常接收的变量并更改一些javascript代码

我希望我很清楚。