Rumah > php教程 > PHP开发 > 星际争霸之php代理模式

星际争霸之php代理模式

WBOY
Lepaskan: 2016-06-07 17:23:09
asal
1540 orang telah melayarinya

星际争霸如果是多人对战模式,就会遇到一个问题:如何降低网络延时和负担。


为了确保数据的一致性,我们应该将每个玩家的发生变化的数据不停的传送到开地图的主机进行保存,一旦任何某个玩家的客户机读取数据,就必须向主机请求数据。


尽管大多数数据是交互性的,即使某个玩家的人口也是这样的,如果某个敌人的部队杀死了这个玩家的一个部队,立即影响了他的人口数量。


不过水晶矿和气矿有所不同,除了玩家自己的建造操作和农民采集,别的玩家影响不了这个数据。


所以我们考虑在客户机也放一个数据存储,玩家改变或者读取他的资源的时候,先操作本机数据,再通知主机。


代理(Proxy)模式示例:


为了方便,假设客户机已经通过远程包含或其他方法获取了主机上的php代码,它的代码如下:

也就是代理类

class ProxyDataProcess implements iDataProcess

{

  //主机操作数据的对象

  private $dataProcess;

  //构造函数

  public function 
Salin selepas log masuk
Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Cadangan popular
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan