Rumah > Soal Jawab > teks badan
个人觉得Node.js语法简单而且灵活,但是不知道其他方面如何,比如说并发性之类的。
PHPz2017-04-17 11:02:48
node不支持多线程(用户可操作的多线程),但多线程不是游戏服务器架构中必须的。现在的游戏服务器主要采用跨机器的分布式架构。一个进程作为一个子服务端,是可以的。
node的net是在socket基础之上的,已经实现好的一套非阻塞异步IO。如果使用socket,还需要自己去做一套IO框架。当然,完全可以做得比net高效,因为socket更底层更灵活。
但高效不是一切,开发时所花的精力也是需要考虑到的。
并发性肯定是node拥有的特性。除非说你觉得node的并发性不够,你有时间也有能力去用C/C++实现一个比node更好的IO框架。
巴扎黑2017-04-17 11:02:48
http://www.kbengine.org/
什么是KBEngine?
一款开源的游戏服务端引擎,使用简单的约定协议就能够使客户端与服务端进行交互, 使用KBEngine插件能够快速与(Unity3D, OGRE, Cocos2d, HTML5, 等等)技术结合形成一个完整的客户端。
服务端底层框架使用c++编写,游戏逻辑层使用Python(支持热更新),开发者无需重复的实现一些游戏服务端通用的底层技术, 将精力真正集中到游戏开发层面上来,快速的打造各种网络游戏。
(经常被问到承载上限,kbengine底层架构被设计为多进程分布式动态负载均衡方案, 理论上只需要不断扩展硬件就能够不断增加承载上限,单台机器的承载上限取决于游戏逻辑本身的复杂度。)