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

星际争霸之php代理模式

WBOY
Libérer: 2016-06-07 17:23:09
original
1540 Les gens l'ont consulté

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


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


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


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


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


代理(Proxy)模式示例:


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

也就是代理类

class ProxyDataProcess implements iDataProcess

{

  //主机操作数据的对象

  private $dataProcess;

  //构造函数

  public function 
Copier après la connexion
Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Recommandations populaires
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal