仿LOL项目开发第九天

仿LOL项目开发第九天

                                                                  by 草帽

OK,今天我们完全换了一种风格,抛弃了Unity3d的c#语法,我们来写写java的项目。

说到java服务器,当然有些人可能鄙视java的服务器速度太慢,但是相对于其他语言,他就是比c++和c性能差点,其实也差不了多少。

加上他的框架比较成熟,我们商业项目完全可以采用java当做服务器。

OK,废话不多说,我们打开Eclipse,然后开始自己的项目:

我们先来写网关服务器:新建一个项目,取名为LOLGameGateServer:

然后在这个项目中新建一个文件夹:lib

里面存放的是一些需要引用的包。

这里我因为做过一些服务器总结出来的一些经验,所以自己封装了一个服务器jar包,主要是编写的时候方便一点:GameCore.jar

然后在添加mysql-jdbc.jar,mina-core-2.0.13.jar,mybatis-3.3.0.jar,log4j-core-2.1.jar。读者自行下载,我一个个上传太麻烦了。

将这些jar包引用到Build Path中:

引用好了之后,我们开始编写网关服务器:

新建一个包:com.lol.server,里面新建一个类:LOLGateServer.java:

然后继承我自己封装的MinaServer,然后我们实现里面的抽象方法。

在写代码之前,我们先来分析下,网关服务器又什么用?

所谓网关服务器,顾名思义,他是充当转发器的作用,也就是说我们客户端先连接上,然后通过网关连接到游戏服务器集群。

所以在网关服务器内部,我们得自己搞个连接游戏服务器的线程。所以网关服务器内部有线程,一个是处理连接客户端的线程,一个是处理游戏服务器线程。

画个图生动点:

所以我也把客户端线程和游戏服务器线程封装到我自己的jar当中:ClientConnectServer和InnerConnectServer。

原文地址:https://www.cnblogs.com/CaomaoUnity3d/p/5675468.html