保藏本站 保藏本站
真钱棋牌网主页 - 软件测验 - 常用手册 - 站长东西 - 技能社区
主页 > JavaScript > nodejs > 正文

主页 - PHP - 数据库 - 操作体系 - 游戏开发 - JS - Android - MySql - Redis - MongoDB - Win8 - Shell编程 - DOS指令 - jQuery - CSS款式 - Python - Perl

Access - Oracle - DB2 - SQLServer - MsSql2008 - MsSql2005 - Sqlite - PostgreSQL - node.js - extjs - JavaScript vbs - Powershell - Ruby

node.js合适游戏后台开发吗?

网站服务器和游戏服务器是怎样样联系到一同的?

1. 游戏分很多种,我们先来看看MMORPG。

再怎样简略的RPG服务器都免不了处理多人交互的景象,上百人在同一个场景里边,每个客户端都需求收到其他一切人的操作信息。

其次,用户的操作是十分频频的,一般的服务器倾向于持有长衔接。并且这些链接的是频频交互的,没有显着的耐久的分区战略,所以约束了服务器的横向扩展,同一个场景往往只能放在一个物理机上面运转。

再次,端游通常是不敢把逻辑运算放客户端的,用户分分钟给你破解掉,改改金币,刷两件配备再常见不过了。所以这一台地图服务器得验证地图内一切玩家的操作,并核算怪物AI、掉率等一系列事务逻辑。

我们能够看到,传统游戏服务器与网页服务器具有显着的差异,具有长衔接、多播送、有杂乱的事务逻辑、分区战略受限等共同的事务需求。

2. 我们在来看看并发带给游戏服务器的优点是什么。

并发实践上是一种程序逻辑流程,他是不需求多核物理支撑的。大致意思便是让多个独立的逻辑流看上去像是在一起跑相同。操作体系等级的并发便是多进程多线程模型。让OS处理时钟中止,io堵塞等等问题。

关于 服务器 而言,假如使命大部分的时刻耗在io上,有了并发机制能够防止整个地图服务被io拜访堵塞。一个使命堵塞的时分,把空余核算资源分配到其他使命上去。在这种情况下,并发是有益于服务器运转功率还有呼应时刻的。

关于程序员而言,独立的逻辑流意味着能够在一个牢靠、简略、松耦合的上下文环境里边,完结自己的使命。

由于让OS处理程序逻辑切换得重复堕入内核,有的人觉得这样太慢,做了一些处于user space的线程,进程内自己操控多个逻辑流。由于言语描绘才能的约束,在C/C++上面写还有用这种东西都太费事。所以产生了erlang, go, lua里边的coroutine语法糖。

node.js本质上也是自己操控多个逻辑流,可是这个逻辑流是依据io状况还有优先级分发的。在实践的完结中,它尽量选用非堵塞异步io,单个使命调用io的时分,我就停掉它,等io完结的信号发上来了,我再重启它。

留意这一点,每次我会运转一个使命,直到它完结或许是发作io调用都不会主动切换至其他的程序流。那么假如这一个使命里边触及过于很多的核算,那么整个地图进程都会被block在这儿。

而正由于node.js是异步的,所以需求不断的写回调监听io完结的信号。单个使命的逻辑流会屡次的被打断。当使命变得适当杂乱的时分,即有所谓的callbak hell,会带给调试开发十分大的费事。

3. 由于上面的原因,所以我不主张在非原型的MMORPG服务器开发中运用node.js。

4.最近鼓起的手游服务器却是挺合适node.js,由于手游这玩意局限于网络问题,服务器只能做要害数据验证,也没办法处理特别多人交互的景象。服务器端现已简化得跟网页服务器没啥差异了,事务逻辑也简略,处理处理数据,然后耐久化就成。

初识Node.js
1、Node.js是什么[1]Node是一个服务器端JavaScript解说器,可是真的认为JavaScript不错的同学学习Node就能轻松拿下,那么你就错了,总结:水深不深我还不知

优化Node.js Web运用运转速度的10个技巧
Node.js获益于它的事情驱动和异步的特征,现已很快了。可是,在现代网络中仅仅快是不可的。假如你计划用Node.js开发你的下一个Web运用的话,那么你

Windows8下建立Node.js开发环境教程
刚触摸node.js,把一些进程记录下来,已备往后查阅。假如有不明确或许过错之处,欢迎批评指正。Node.js是什么?我看了网上一些文章,我的了解是功

本周排行

更新排行

强悍的草根IT技能社区,这儿应该有您想要的! 友情链接:b2b电子商务
Copyright © 2010 ystekkfj.com. All Rights Rreserved  京ICP备05050695号