-
Notifications
You must be signed in to change notification settings - Fork 2.9k
中文FAQ
- 使用nodejs开发相对于使用传统语言,C++等,是否会有性能问题?
基于V8的Node.JS代码本身已经十分快速了,而node.js带给我们的io优势更是传统语言无法比拟的。 node.js唯一的劣势是计算密集型的操作,但是,通过良好的架构设计是可以避免这一问题的。在我们开发游戏demo的过程中,node.js在一些性能指标上得到了比传统语言平台更好的性能!
- 我想使用pomelo,那是不是意味着我的服务端都要用nodejs开发呢?
现阶段pomelo还不支持跨语言扩展。但执行编译成js的语言都可以使用, 如coffeescript。
- pomelo服务器支持哪些操作系统?
支持Linux和Mac操作系, Windows系统还没有完整测试过。
- 非javascript的客户端, 是否可以使用pomelo?
pomelo是基于socket.io开发的, 目前socket.io几乎支持所有语言的客户端开发包。可参考socket.io的wiki
- 使用pomelo start命令与使用game-server/node app.js启动game server有什么区别?
使用pomelo start时, 系统会在文件中记住相关启动选项,如当前的启动模式是production还是development,是否daemon模式等等。使用node app.js则没有记录这些信息, 这有可能导致pomelo stop时出现问题。一般建议用pomelo start。
- 后台进程在跑,没有kill干净,导致端口冲突,怎么处理?
本地调试可使用pomelo kill命令, 也可使用shutdown.sh命令简单粗暴地将所有后台所有node进程kill掉。 production环境必须用pomelo stop来完成,否则可能丢数据。 shutdown.sh的内容:
kill -9 `ps -ef|grep node | awk '{print $2}'
- 如何在某个进程的命令行添加参数, 如调试端口等?
修改配置文件./game-server/config/server.json,为目标服务器添加args参数,例如为connector服务器添加参数如下:
“connector”:[{"id":"connector-server-1", "host":"127.0.0.1", "port":4050, "wsPort":3050, "args":"--debug=[port], --trace, --prof, --gc"}]
- 开发环境的启动与产品环境下的启动有什么不同?
开发环境使用development模式(默认模式), 因此不需要加参数。而产品环境下启动一般使用production模式,而且进程一般使用daemon模式运行,需使用命令: pomelo start production --daemon, 注:daemon模式需要系统安装forever模块。
- 产品环境扩展到多台服务器, 如何配置?
如果只是简单的并行扩展,只需要在./game-server/config/server.json中对应服务器类型中加入一行新的server配置就可以了。如果是业务逻辑的拆分,则需要根据具体业务逻辑而定。 另外, 多服务器的启动需要ssh agent forward支持, 参考快速使用指南的参考文档。
- 本地demo(lord of pomelo)登陆不进去
可能出现的情况如下: 浏览器不支持websocket,需要chrome等支持websocket的浏览器。可以使用网站 http://websocketstest.com/ 检测是否支持websocket; 端口被占用,修改./game-server/config/server.json。
- How do I contribute to pomelo?
Welcome anyone contribute code to pomelo, we will put your name on the contributor list. You can follow us on github, and contribute code or modules to pomelo project.