仔细算算,参加网游开发已经3年多了。虽然参与最多的,都是逻辑玩法部分的开发,但是对于服务器的架构,逐渐有了点认识。
13年年底,利用工作之余自己编写了个简易的服务器框架。而最近又看了看nodejs,打算重新整理下思路,对服务器框架进行重构。
于是就有了这几篇关于服务器的文章,希望是最自己知识的总结,也是希望有所沉淀。
编写一套网游服务器引擎,首先就需要选择好语言。而我选择的是纯python。
编程语言多达上百种,适合服务器开发的有:python,lua,c,c++,c#,javascript,erlang,go。语言真是层出不穷。
而服务器开发,需要的语言应该具备的特性有:
1、不错的执行性能
2、方便快捷并且高效的开发速度
3、代码热更新
4、可调试性
以上面列举的几种语言为例(erlang不在本次讨论范围,因为我没看过,也不懂):
1、执行效率:
这个C无疑是最佳的。C++,go也不错。据说go是下一代C/C++。目前从网络资料上来看,go的性能也不差。
js因为google V8的存在,现在nodejs流行的一塌糊涂。C#虽然性能不及C,但是安全性强太多。
lua效率不错,但是需要一个主语言来支撑。python是这里面效率最差的。地球人都知道。
所以,很多公司采用的是: C/C++与lua的组合。或者nodejs。
我经历过的两家游戏公司中&#x
13年年底,利用工作之余自己编写了个简易的服务器框架。而最近又看了看nodejs,打算重新整理下思路,对服务器框架进行重构。
于是就有了这几篇关于服务器的文章,希望是最自己知识的总结,也是希望有所沉淀。
编写一套网游服务器引擎,首先就需要选择好语言。而我选择的是纯python。
编程语言多达上百种,适合服务器开发的有:python,lua,c,c++,c#,javascript,erlang,go。语言真是层出不穷。
而服务器开发,需要的语言应该具备的特性有:
1、不错的执行性能
2、方便快捷并且高效的开发速度
3、代码热更新
4、可调试性
以上面列举的几种语言为例(erlang不在本次讨论范围,因为我没看过,也不懂):
1、执行效率:
这个C无疑是最佳的。C++,go也不错。据说go是下一代C/C++。目前从网络资料上来看,go的性能也不差。
js因为google V8的存在,现在nodejs流行的一塌糊涂。C#虽然性能不及C,但是安全性强太多。
lua效率不错,但是需要一个主语言来支撑。python是这里面效率最差的。地球人都知道。
所以,很多公司采用的是: C/C++与lua的组合。或者nodejs。
我经历过的两家游戏公司中&#x