如何学习游戏服务器端编程和书籍推荐
有很多想学习游戏服务器端编程的同学,可能会由于学校没有相应课程,或者没有一个具体的学习思路,导致中途放弃,与游戏服务器端编程擦肩而过,错失踏进游戏服务器端编程大门的机会。现在,我就来说说,游戏服务器端要怎么自学和有哪些书籍推荐。
不管是客户端还是服务器端,不管是做游戏还是做软件,都需要有编程基础,也就是说,编程语言必须掌握。适合服务器端的编程语言有很多,常见的有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网络编程》
如何学习游戏服务器端编程和书籍推荐相关推荐
- 学习 JAVA,有什么书籍推荐?学习的方法和过程是怎样的?
学习 JAVA,有什么书籍推荐?学习的方法和过程是怎样的? 本文内容比较长,主要包含下面几部分内容: 学习路线以及方法推荐 书单推荐 教程推荐 推荐一个学习中常看的仓库 学习/编程好习惯 面试必知 学 ...
- Linux网络编程经典书籍推荐
Linux网络编程经典书籍推荐 目录(?)[+] 首先要说讲述TCP/IP的书很多,其中有3泰书很全. 分别是<TCP/IP详解>三卷本,<用TCP/IP进行网际互连>三卷本, ...
- 一名优秀的Web前端开发工程师的成长之路:如何学习前端开发知识以及书籍推荐
我所遇到的前端程序员分两种: 第一种一直在问:如何学习前端? 第二种总说:前端很简单,就那么一点东西. 我从没有听到有人问:如何做一名优秀.甚至卓越的WEB前端工程师. 何为:前端工程师? 前端工程师 ...
- 12个python超强学习网站!加python书籍推荐!( 入门python自学推荐!建议收藏!)
python学习网站 一.python学习网站 1 CSDN 2 Python123 3 python中文学习大本营 4 python开发者社区 5 github 6 python学习网 7 pyth ...
- Linux 编程经典书籍推荐
成为一名精通 Linux 程 序设计的高级程序员一直是不少朋友孜孜以求的目标.根据中华英才网统计数据,北京地区 Linux 程序员月薪平均为 Windows 程序员的 1.8 倍.Java 程序员的 ...
- 学python比较好的书-学习Python比较好的书籍推荐
近些年来,Python的热度一直处于上升阶段,到目前为止,Python已经成为和Java一样备受编程爱好者追捧的编程语言.因此越来越多的人都选择学习Python,只是很多人由于缺乏编程基础,不知道怎么 ...
- 2021年编程类书籍推荐清单
基础编程书籍 目录 前言 一.基础编程书籍 二.算法和数据结构编程书籍 三.基于架构的编程书籍 四.编程语言相关的编程书籍 五.软技能和个人发展编程书籍 总结 前言 最近打算系统学习编程,苦于没有个大 ...
- python编程入门书籍推荐-Python编程启蒙书籍推荐
编程已经成为了很多领域的一项基本技能,而全世界有600多种编程语言,流行的编程语言也多达20多种.如何入门?入门的时候怎样打好基础?这些都是值得思考的问题.知乎上高分回答编程入门指南 v1.5可以给各 ...
- 全面的学习 游戏外挂 编程开发 视频教程+源代码
有游戏分析,CALL基址分析,封包分析,外挂制作 ,逆向调试,过驱动保护等课程 课程大网如下 详情见:郁金香外挂教学网:http://bbs.yjxsoft.net VC++外挂教程大纲(另有del ...
- 游戏服务器端编程书籍
1:Linux系统编程手册. 2:高性能Linux服务器编程 3:<面向模式的软件架构 卷2:并发和联网对象模式> 4:<Linux多线程服务端编程:使用muduo C++网络库 & ...
最新文章
- 编译问题二 /snmplib/tools.c:920 undefined reference to `clock_gettime' 问题解决
- Nginx(四):Nginx配置实战
- 【路径规划】基于matlab A_star算法机器人静态避障路径规划【含Matlab源码 495期】
- 生物医学信号检测与处理实验3——1微电阻梁
- MVVM框架的了解与使用
- linux中怎么生成hwaddr,linux 下 hwaddr 和 macaddr的区别
- java char表_char码值对应列表大全
- python在教育领域的应用课题_研究型案例在Python教学方法中应用
- 电影芳华豆瓣评论爬取
- 户外直播 4G/5G户外高清直播 5G视频回传
- 【深度】广告流量分配HWM算法
- HIVE:窗口函数,用sql语句查询MySQL安装路径和版本
- 【机器学习原理实战01】Ridge回归模型
- tf data 切换数据集 使用并行提高效率
- vue 关于清除浏览器全部cookie的问题及解决方法(绝对有效)
- 先行一步,7 大技术创新和突破,阿里云把 Serverless 领域的这些难题都给解了
- 海贼王经典语录(转)
- 扎克伯格说了两句大实话!一句价值1300亿美元,另一句让美国人扎心了…
- 7. 反向代理-快速入门
- 显示遇到一些临时服务器问题,大师为你细说win10系统登录office提示“遇到一些临时服务器问题”的学习...
热门文章
- Python之列表和元组
- 服务器u单核性能排行,CPU单核性能排行(2017年10月更新).doc
- OpenCV——分离颜色通道,图像对比度,亮度调整,离散傅里叶变换(10)
- DSP 基础学习 1:搭建环境与CCS6创建工程模板
- 2019年最新目标检测算法综述汇总
- Marlin固件 ---- G_Code 命令解析
- CAD绘制填充并设置填充透明度
- 【翻译】 Unity3D VR 教程:4.VR中的用户界面
- 基于labview的打地鼠游戏制作
- 主成分分析(PCA)的一种理解和推导