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

不管是客户端还是服务器端,不管是做游戏还是做软件,都需要有编程基础,也就是说,编程语言必须掌握。适合服务器端的编程语言有很多,常见的有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网络编程》

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

  1. 学习 JAVA,有什么书籍推荐?学习的方法和过程是怎样的?

    学习 JAVA,有什么书籍推荐?学习的方法和过程是怎样的? 本文内容比较长,主要包含下面几部分内容: 学习路线以及方法推荐 书单推荐 教程推荐 推荐一个学习中常看的仓库 学习/编程好习惯 面试必知 学 ...

  2. Linux网络编程经典书籍推荐

    Linux网络编程经典书籍推荐 目录(?)[+] 首先要说讲述TCP/IP的书很多,其中有3泰书很全. 分别是<TCP/IP详解>三卷本,<用TCP/IP进行网际互连>三卷本, ...

  3. 一名优秀的Web前端开发工程师的成长之路:如何学习前端开发知识以及书籍推荐

    我所遇到的前端程序员分两种: 第一种一直在问:如何学习前端? 第二种总说:前端很简单,就那么一点东西. 我从没有听到有人问:如何做一名优秀.甚至卓越的WEB前端工程师. 何为:前端工程师? 前端工程师 ...

  4. 12个python超强学习网站!加python书籍推荐!( 入门python自学推荐!建议收藏!)

    python学习网站 一.python学习网站 1 CSDN 2 Python123 3 python中文学习大本营 4 python开发者社区 5 github 6 python学习网 7 pyth ...

  5. Linux 编程经典书籍推荐

    成为一名精通 Linux 程 序设计的高级程序员一直是不少朋友孜孜以求的目标.根据中华英才网统计数据,北京地区 Linux 程序员月薪平均为 Windows 程序员的 1.8 倍.Java 程序员的 ...

  6. 学python比较好的书-学习Python比较好的书籍推荐

    近些年来,Python的热度一直处于上升阶段,到目前为止,Python已经成为和Java一样备受编程爱好者追捧的编程语言.因此越来越多的人都选择学习Python,只是很多人由于缺乏编程基础,不知道怎么 ...

  7. 2021年编程类书籍推荐清单

    基础编程书籍 目录 前言 一.基础编程书籍 二.算法和数据结构编程书籍 三.基于架构的编程书籍 四.编程语言相关的编程书籍 五.软技能和个人发展编程书籍 总结 前言 最近打算系统学习编程,苦于没有个大 ...

  8. python编程入门书籍推荐-Python编程启蒙书籍推荐

    编程已经成为了很多领域的一项基本技能,而全世界有600多种编程语言,流行的编程语言也多达20多种.如何入门?入门的时候怎样打好基础?这些都是值得思考的问题.知乎上高分回答编程入门指南 v1.5可以给各 ...

  9. 全面的学习 游戏外挂 编程开发 视频教程+源代码

    有游戏分析,CALL基址分析,封包分析,外挂制作 ,逆向调试,过驱动保护等课程 课程大网如下  详情见:郁金香外挂教学网:http://bbs.yjxsoft.net VC++外挂教程大纲(另有del ...

  10. 游戏服务器端编程书籍

    1:Linux系统编程手册. 2:高性能Linux服务器编程 3:<面向模式的软件架构 卷2:并发和联网对象模式> 4:<Linux多线程服务端编程:使用muduo C++网络库 & ...

最新文章

  1. 编译问题二 /snmplib/tools.c:920 undefined reference to `clock_gettime' 问题解决
  2. Nginx(四):Nginx配置实战
  3. 【路径规划】基于matlab A_star算法机器人静态避障路径规划【含Matlab源码 495期】
  4. 生物医学信号检测与处理实验3——1微电阻梁
  5. MVVM框架的了解与使用
  6. linux中怎么生成hwaddr,linux 下 hwaddr 和 macaddr的区别
  7. java char表_char码值对应列表大全
  8. python在教育领域的应用课题_研究型案例在Python教学方法中应用
  9. 电影芳华豆瓣评论爬取
  10. 户外直播 4G/5G户外高清直播 5G视频回传
  11. 【深度】广告流量分配HWM算法
  12. HIVE:窗口函数,用sql语句查询MySQL安装路径和版本
  13. 【机器学习原理实战01】Ridge回归模型
  14. tf data 切换数据集 使用并行提高效率
  15. vue 关于清除浏览器全部cookie的问题及解决方法(绝对有效)
  16. 先行一步,7 大技术创新和突破,阿里云把 Serverless 领域的这些难题都给解了
  17. 海贼王经典语录(转)
  18. 扎克伯格说了两句大实话!一句价值1300亿美元,另一句让美国人扎心了…
  19. 7. 反向代理-快速入门
  20. 显示遇到一些临时服务器问题,大师为你细说win10系统登录office提示“遇到一些临时服务器问题”的学习...

热门文章

  1. Python之列表和元组
  2. 服务器u单核性能排行,CPU单核性能排行(2017年10月更新).doc
  3. OpenCV——分离颜色通道,图像对比度,亮度调整,离散傅里叶变换(10)
  4. DSP 基础学习 1:搭建环境与CCS6创建工程模板
  5. 2019年最新目标检测算法综述汇总
  6. Marlin固件 ---- G_Code 命令解析
  7. CAD绘制填充并设置填充透明度
  8. 【翻译】 Unity3D VR 教程:4.VR中的用户界面
  9. 基于labview的打地鼠游戏制作
  10. 主成分分析(PCA)的一种理解和推导