适合游戏后台开发Node.js

适合游戏后台开发Node.js
网络服务器和游戏服务器是如何联系在一起的

1中有很多比赛。游戏。让我们先看看游戏。

不管RPG服务器多么简单,不管有多少人相互交流,数百人都需要在同一场景中从其他人那里接收信息。

第二,用户操作非常频繁,一般服务器往往保持较长的连接,而且这些链接具有高度的交互性,并且没有明显的持久性分区策略,限制了服务器的横向扩展。同样的场景只能在物理机器上运行

再次,旅游结束通常是不敢把逻辑放在客户机上,用户分钟给你出,换刷金,两件设备太普通了。所以地图服务器必须验证所有玩家在地图上的操作,并计算出一系列的商业逻辑,如怪物AI、丢包率等等。

可以看出传统的游戏服务器与web服务器有明显的区别。它具有独特的业务需求,如长连接、多播、复杂业务逻辑、有限分区策略等。

2。我们来看看同步给游戏服务器带来的好处。

并发实际上是一个程序逻辑过程,他不需要多核物理支持,一般意义是使多个独立的逻辑流看起来像是同时运行的,操作系统级的并发是多进程线程模型,让操作系统处理时钟中断、阻塞等。

For servers, if the task is spent most of the time on io, there is a concurrent mechanism that prevents the entire map service from being blocked by io.When a task is blocked, the spare computing resources are allocated to other tasks.In this case, concurrency is beneficial to the efficiency of the server and the response time.

对于程序员来说,独立的逻辑流意味着它可以在可靠、简单、松散耦合的上下文中完成。

因为操作系统处理逻辑开关反复的核心,有些觉得太慢,做一些用户空间的线程,并控制多个逻辑内的流动过程。由于语言描述的局限性,它是写在C / C++太麻烦。所以在Erlang,协程的语法糖去,Lua的产生。

Node.js基本上控制多个逻辑流本身,但这种逻辑流分布按照我 O状态。在实际执行中,它试图使用非阻塞异步我当一个任务叫我啊,我停下来。当我完成信号时,信号会再次出现,我会重新启动它。

注意这一点,每次我运行一个任务,直到完成它,否则我的调用都不会主动切换到其他程序流。

因为Node.js是异步的,你需要写来监视我 O的信号持续回调,单个任务的逻辑流程中断了很多次。当任务变得相当复杂,即所谓的callbak地狱,将带来巨大的麻烦,调试开发。

三.由于上述原因,我不建议在非使用Node.js开发原型MMORPG服务器。

4、最新手游服务器非常适合js,因为手游是有限的网络问题。服务器只能进行关键的数据验证,不能处理特殊多人交互的情况,服务器端简化为与Web服务器无关,业务逻辑简单,处理数据,然后坚持。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部