其他
pumbaa51203889
这个作者很懒,什么都没留下…
展开
-
如何防止游戏客户端使用变速器
可以在客户端使用定时器,例如3秒钟执行一次 定时器开始的时候读取系统时间 定时器结束的时候读取系统时间. 如果2个系统时间差距小于2.7秒就加速了,如果大于3.3秒就使用了减速器(10%的误差) 有时候网络延迟会出现这种情况,所以可以判断连续出现这种情况多少次之后才判定用了变速器 还有如果游戏是需要在地图上移动的,那么服务端需要根据时间和移动速度来验证玩家坐标是否正确 ...原创 2013-03-14 14:37:46 · 1460 阅读 · 0 评论 -
短连接/长连接比较
轮询:客户端定时向服务器发送Ajax请求,服务器接到请求后马上返回响应信息并关闭连接。优点:后端程序编写比较容易。缺点:请求中有大半是无用,浪费带宽和服务器资源。实例:适于小型应用。 长轮询:客户端向服务器发送Ajax请求,服务器接到请求后hold住连接,直到有新消息才返回响应信息并关闭连接,客户端处理完响应信息后再向服务器发送新的请求。优点:在无消息的情况下不会频繁的请求。缺点...原创 2013-07-10 10:08:50 · 124 阅读 · 0 评论 -
数据加密
客户端 游戏中的关键逻辑数据,如血量,攻击力等,容易被通用的数据修改器类外挂搜索定位并修改。因此,对于客户端逻辑中存在关键逻辑数据的游戏,需要对其进行加密。而针对修改器的模糊搜索,一般的异或加密也是不够的。 推荐方案: 影子变量。同一属性,如血量,有hp,hp_shadow1,hp_shadow2.hp采用a加密,hp_shadow1采用b加密,hp_shado...原创 2016-06-17 17:42:57 · 137 阅读 · 0 评论 -
如何通过callback和协程来提高并发
首先要先清楚你的程序是io密集型还是cpu密集型 一般的游戏服务端都是io密集型的,主要瓶颈在于io,那么当线程在等待io操作时,cpu就空闲下来了。这样浪费了cpu性能,而且并发上不去。 callback和协程解决的原理都一样,就是遇到io操作的时候,通过callback或者协程处理当前的io操作,把当前的线程让出来,让线程去处理其他的请求,等到io操作结束了,在回到原来的线...原创 2016-12-23 17:22:50 · 342 阅读 · 0 评论