如何学习游戏服务器端编程和书籍推荐

php 同时被 2 个专栏收录
5 篇文章 0 订阅
4 篇文章 0 订阅

有很多想学习游戏服务器端编程的同学,可能会由于学校没有相应课程,或者没有一个具体的学习思路,导致中途放弃,与游戏服务器端编程擦肩而过,错失踏进游戏服务器端编程大门的机会。现在,我就来说说,游戏服务器端要怎么自学和有哪些书籍推荐。



不管是客户端还是服务器端,不管是做游戏还是做软件,都需要有编程基础,也就是说,编程语言必须掌握。适合服务器端的编程语言有很多,常见的有C/C++(原始)、Java(复杂)、PHP(易学)、Node.js(多坑),选择其中一款你喜欢的语言深入学习。如果你不清楚要选择哪个语言来做服务器端编程的话,我来简单介绍一下:


C/C++:是最适合写服务器端的语言,因为可以直接调用系统函数,速度非常快,而且学了C/C++再学其他语言简直轻轻松松。由于我是学C语言入门编程的,所以我推荐一本国外的《C程序设计语言》、谭浩强的《C++程序设计》来学习C/C++;


Java:不想评论跳过,这是我个人最讨厌的语言,要推荐书籍的话,《Think in java》吧;


PHP呢:简单易学,开发速度超级快,不过执行速度低了不少,所以比较适合移动端的网络游戏,MMORPG这些多人同屏在线还是用C/C++来写吧,用PHP延迟可能会很大。我最擅长的语言是PHP,所以我推荐先学《PHP和MySQL Web开发》再学《深入PHP》;


Node.js我没用过,做不了评论。不过我很喜欢Javascript语言,Node.js是用V8解释器来解释Javascript的,意思是Node.js服务器脚本是用Javascript语言来写的。Javascript的话,强烈推荐《Javascript高级程序设计》。



学会一本服务器端编程语言后,相当于踏进了编程的大门,这个时候需要学习一些计算机网络理论知识了,这个不一定要学得很深,但是必须要有理解,特别是对网络协议、应用层端口的理解。推荐书籍不多,两本,一本是《Cisco网络技术教程》,一本是《TCP/IP 详解 》,两本选一本阅读即可。



学会编程语言,又了解了计算机网络的基础知识,这个时候建议学习一下C语言的语法,然后学习《数据结构》,数据结构的书籍有深有浅,不好推荐,比较多人学过的是清华大学严蔚敏教授编写《数据结构》。除了数据结构,还要简单学习如何操作Linux,对着《鸟哥的Linux私房菜》和安装一个Linux发行版折腾鼓捣吧。



以上所说的你都经历了之后,就可以正式开始学习游戏服务器端编程了。我只看过两本服务器端编程的书籍,一本是基础入门级的《网络游戏核心技术与实战》,一本是《Linux网络编程》。其实《Unix网络编程》才是服务器端编程的圣经,可惜我没有时间拜读,因为太多太厚了。学服务器端编程,主要是要掌握端口和协议的用法、套接字的概念、网络传输过程延迟的解决方案、还有同步异步的数据处理方式等等,归根结底,就是学习使用Linux的系统函数(如今的服务器,是Linux的天下)。你说Windows?抱歉,没见过哪个游戏服务器端用Windows。你说可以不使用Linux的系统函数吗?抱歉,不可以,除非你能写一个计算机系统比Linux还厉害。



上面的网络游戏核心技术与实战》讲的是理论,而《Linux网络编程》讲的又太底层,所以一般真正实战之前,要选择和学习使用一个框架。我只用过PHP来开发过游戏服务器端,而我用的php框架是workerman。同理,其他语言最好也用一个框架来进行服务器端开发,或者,直接使用C/C++进行游戏服务器端开发,具体如何,就要看你的项目需求了。



以下是汇总了上面所说的书名:

1、《C程序设计语言》

2、《C++程序设计》

3、《Think in java》

4、《PHP和MySQL Web开发》

5、《深入PHP》

6、Javascript高级程序设计》

7、《Cisco网络技术教程》

8、《TCP/IP 详解 》

9、《数据结构》

10、《鸟哥的Linux私房菜》

11、网络游戏核心技术与实战

12、《Linux网络编程》

13、《Unix网络编程》



  • 4
    点赞
  • 12
    评论
  • 10
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值