java游戏服务器开发要掌握哪些技术?
java游戏服务器主要是搭建页游或者手游,其中开发语言是使用了java。端游戏一般选择C++,因为端游对服务器的性能要求相对比较高一些。两种语言各有利弊。C++效率高,但是掌握度难些。没有Java易于掌握。而目前对于追求快速上线率的页游和手游来说,Java成了一个不错的选择。Java的技术系统需要学习的技术有哪些呢?
1,Java基础知识。
2,JavaNIO编程。 (可能你想知道:java游戏服务器对技术员要求有哪些?)
3,Netty,Mina网络框架精通一种,其它作为了解。
4,一种缓存框架:Redis;memcache熟悉使用一个。
5,SQL语言,用于数据库:mysql。
6,springmvc主要用于http协议的服务器。
7,多线程编程,明白线程安全的重要性。
8,Java并发集合的掌握。
9,Linux常用的基本命令及shell脚本。
10,数据库操作,比如mybatis。
以Java为服务器编程语言来说,掌握Java的基本知识就不必说了,是必不可少的。可以参考《Java编程思想》,《Java核心技术》等书。根据游戏通信协议的不同,大致有两种实现方式:Socket和http。先说简单些的http协议,这个协议已经很成熟的应用到了网站上。而Java语言也可以用于网站开发,所以相当就简单些。现在有很多开源的服务器软件,比如:tomcat ,resin等。游戏前端不管是页游flash,还是手游的Android,IOS都支持http协议,只要把游戏的逻辑数据按post方法向服务器发出请求即可了。
而对于socket来说,就需要掌握一些深入的网络通信知识。对于Java来说,一般选择NIO非阻塞,开发方式。可以参考Java NIO编程相关资料。为了适应这个需求,现在有很多网络通信框架,比如Netty,mina。目前已经成熟的应用到了游戏开发当中。这些都是开源的,有兴趣可以阅读它们的源码。
游戏服务器开发过程中,会涉及到很多多线程的应用。这样可以提高服务器的性能和实现某些特定的操作。比如组队打怪,竞技场的事实排名。这些涉及到了并发对共享数据的操作。为了防止数据的错误,一定要做好数据的同步。