V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zhonghua
V2EX  ›  程序员

使用 Nodejs 开发网络游戏服务器

  •  
  •   zhonghua · 2014-08-19 18:06:18 +08:00 · 8079 次点击
    这是一个创建于 3538 天前的主题,其中的信息可能已经有所发展或是发生改变。
    https://github.com/zhuzhonghua/Episode

    Pomelo追求的是大而全,Episode追求的是小而精。

    Nodejs天生的异步框架,非常适合做网络服务。

    目前只提供了网络层的几个简单接口

    1. 监听端口

    2. 接收数据包

    3. 发送数据包

    4. 检测连接断开等事件

    5. 连接别的网络服务
    7 条回复    2014-08-21 11:54:01 +08:00
    hjc4869
        1
    hjc4869  
       2014-08-19 18:08:04 +08:00
    大型游戏服务器,用nodejs做恐怕内存吃不消。
    就我所知的(国外)几个著名的游戏,一般都是C++开发的服务端。
    millson
        2
    millson  
       2014-08-19 18:24:54 +08:00
    网易pomelo
    “多进程单线程的应用架构。node.js天生采用单线程, 使它在处理复杂逻辑的时候无需考虑线程同步、锁、死锁等一系列问题, 减少了很多逻辑错误。 由多进程node.js组成的服务器群是最理想的应用架构。”

    进程间通信的消耗可能成为瓶颈,尤其是即时制游戏,需要同步场景中其他玩家数据
    yetone
        3
    yetone  
       2014-08-19 18:31:14 +08:00
    建议楼主看一下 jshint,楼主写的 js 把我吓尿了
    fx
        4
    fx  
       2014-08-19 19:56:56 +08:00
    还不如用golang
    zhonghua
        5
    zhonghua  
    OP
       2014-08-19 20:00:57 +08:00
    @hjc4869
    @millson
    恩,确实是的。

    @yetone
    还望大神指教

    @fx
    恩,等后面再研究一下。
    sirius4gnu
        6
    sirius4gnu  
       2014-08-20 17:29:43 +08:00
    nodejs能加密吗,网游服务器发行版本还蛮容易泄露的,如果代码都在里面比较麻烦.
    zhonghua
        7
    zhonghua  
    OP
       2014-08-21 11:54:01 +08:00
    @sirius4gnu 关于私服的问题,nodejs 有很多解决方案,参考https://github.com/NetEase/pomelo-cn/issues/209
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2870 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 09:44 · PVG 17:44 · LAX 02:44 · JFK 05:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.