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

2014-08-19 18:06:18 +08:00
 zhonghua
https://github.com/zhuzhonghua/Episode

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

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

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

1. 监听端口

2. 接收数据包

3. 发送数据包

4. 检测连接断开等事件

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

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

@yetone
还望大神指教

@fx
恩,等后面再研究一下。
sirius4gnu
2014-08-20 17:29:43 +08:00
nodejs能加密吗,网游服务器发行版本还蛮容易泄露的,如果代码都在里面比较麻烦.
zhonghua
2014-08-21 11:54:01 +08:00
@sirius4gnu 关于私服的问题,nodejs 有很多解决方案,参考https://github.com/NetEase/pomelo-cn/issues/209

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/128777

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX