从整体架构来看, 目前页游服务器的技术相对其他的客户端的MMO,FPS,TPS等, 以及SNS游戏的后台要简单, 因为其分区分服 和 单服人数相对较少的特性。
当然服务端开发要用到的技术还是相通。 语言方面: c++语言,书籍的话就太多了, primer, 几本effective, 还有其他N多c/c++语言方面的著名书籍, 就不举例了, 值得一提的是现在许多页游后台都大量使用java,。
net, python,lua等来处理逻辑, 如果有需要, 掌握了c/c++之后, 在工作中会很容易切过去。 OS平台: 网络编程, 不论linux还是windows作为server平台, 都推荐unix网络编程卷1/2, APUE等书看一看, 后期此类书大部分时间还是用做字典。
网络协议: TCP技术详解卷1/2, 推荐后期看, 不太适合新手看。 另外数据结构算法之类的就不多说了, 还有就是很多公司会用到一些网络库, 例如: ACE, ICE, libevent, libev, boost asio等, 这些东西暂时不用急着去学如何使用, 当工作中需要了, 可以慢慢去了解, 推荐以后多看看这些网络库的源码, 会很有帮助。
以上是我个人推荐的一条稳扎稳打的路线, 要是希望能几个月马上上手, 可能就不太适合了。
必须要会的:java后台代码,比如:spring, springmvc或者是struts2 , hibernate 或者是mybaites.
其他的小功能: listener,filter, socket必须会,如果你不是从底层开始开发的话线程了解一个定时器就可以了.
服务器:tomcat ,resin,maven,之类的懂一个就好,要会看配置文件,最起码改改内存,并发数要会.
最好是还要会缓存框架和性能调优.
如果以上都会说明你肯定很牛B了,月薪最少1W. 如果熟悉使用1~2门,其他的了解,估计找个8K左右的没压力.
北京中科奥科技有限公司————网络游戏
岗位职责:
1、负责J2ME/WindowsMobile等平台客户端软件开发工作;
2、负责需求分析,需求说明书的编写,确认,开发进度的制定以及确认,负责开发进度执行管理以及交付产品验收协调工作;
3、负责手机端游戏产品线的新增功能/原有能力优化等工作;
4、负责手机端游戏产品线的开发规划以及性能优化计划。
岗位要求:
1、精通java语言,能够熟练运用J2ME进行手机游戏的开发。
2、熟悉主要手机操作系统平台:J2ME、Windows Mobile、Symbian、MTK等。
3、了解常见数据库并能进行一般开发工作,例如Oracle、MySQL、SQL Server。
4、具备优秀的文档习惯,能够严格按照格式要求认真编写软件各类开发文档。
5、具钻研精神,能够快速接受新知识,必要时能够快速学习掌握工作需要的其它程序设计语言与技术。
6、善于沟通和表达自己,乐于向他人传授知识,能够非常融洽的与他人协同工作。
7、品格良好,人生观、价值观正确,工作态度端正,为人积极、正直。
8、具2年以上手机游戏或手机网游开发工作经验者优先。
北京开云互动科技有限公司
岗位要求:
1. 一年以上Java开发经验,熟悉Java核心,集合,网络,多线程。
2. 玩过3款以上网络游戏,有1年以上回合制网络游戏经验;
3. 熟悉面向对象的开发流程,了解MVC熟悉设计模式;
4. 热爱游戏,性格开朗,思维开阔,有极强的团队意识,善于沟通协调,能承受工作压力。
岗位职责:
Java游戏服务器端的开发
1、根据游戏策划需求,独立设计开发相应的游戏模块;
2、了解整个游戏服务器系统,维护相应的模块;
3、完成游戏逻辑方面的开发;
4、保证服务稳定高效的运行。
优先条件:
1、熟悉Project Darkstar Server优先
2、熟悉smartfoxserver优先
1. 服务器所用到的知识:TCP/UDP,最基本的;
2. 并发——你可以选择使用select、poll,或者是多线程、多进程:如果你使用多线程,那么就必须使用同步技术——信号量、互斥体、条件变量的一种或几种,并且对于多线程技术,你还需要考虑使用进行线程分离与合并;
3. 如果你使用了多进程,那么同步技术就不是你需要考虑的了,你需要考虑的是进程相关的问题了,你是使用fork还是vfork,你该如何处理客户端的请求,如何处理客户端断开连接后保证能够处理完数据并且没有僵尸进程产生,你还需要考虑高并发的问题;
4. 你发送接受数据的时候,采用何种方式,是阻塞的还是非阻塞的,还有连接超时、重传等问题
你是选择TCP还是UDP,如果选择UDP你可得忙了,需要你自己去进行重传验证,模拟TCP的三次握手,保证数据不会丢失,保证数据的有序性;
5. 还有其他很多需要你考虑的,以上都是指在Linux下的C++,本人对windows C++不了解。
6. 推荐书目:UNIX高级环境编程,UNIX网络编程,卷一。C++只不过是你使用这些技术的方式,不管你使用C还是C++,你都可以使用从这两本书中学习到很多有用的知识,但是不能保证你就可以写出高质量的服务器程序。
服务器所用到的知识:TCP/UDP,最基本的;并发——你可以选择使用select、poll,或者是多线程、多进程:如果你使用多线程,那么就必须使用同步技术——信号量、互斥体、条件变量的一种或几种,并且对于多线程技术,你还需要考虑使用进行线程分离与合并;如果你使用了多进程,那么同步技术就不是你需要考虑的了,你需要考虑的是进程相关的问题了,你是使用fork还是vfork,你该如何处理客户端的请求,如何处理客户端断开连接后保证能够处理完数据并且没有僵尸进程产生,你还需要考虑高并发的问题;你发送接受数据的时候,采用何种方式,是阻塞的还是非阻塞的,还有连接超时、重传等问题你是选择TCP还是UDP,如果选择UDP你可得忙了,需要你自己去进行重传验证,模拟TCP的三次握手,保证数据不会丢失,保证数据的有序性;还有其他很多需要你考虑的,以上都是指在Linux下的C++,本人对windows C++不了解。
推荐书目:UNIX高级环境编程,UNIX网络编程,卷一。C++只不过是你使用这些技术的方式,不管你使用C还是C++,你都可以使用从这两本书中学习到很多有用的知识,但是不能保证你就可以写出高质量的服务器程序。
首先你得有有良好的Java SE基础
1.Servlet/JSP,Cookie、Session等,一定要深入理解web服务器
2.html、css、javascript同时需要学习前端的知识
3.jdbc,mysql,sql,数据库相关知识
4.最后你需要学习,javaweb相关的框架
比如ssh(struts,spring,hibernite),ssm(spring,spring mvc,mybatis)等等等
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
蜀ICP备2020033479号-4 Copyright © 2016 学习鸟. 页面生成时间:3.786秒