所謂磨刀不誤砍柴工,所以在搭建netty游戲服務器之前,我們先要把要准備的東西做好。
首先進入netty的官網下載最新版本的netty的jar包,http://netty.io/downloads.html,這里我下載的是netty-5.0.0.Alpha2.tar.bz2 版本的。
打開壓縮包,找到
all-in-one下面的netty-5.0.0.Alpha2.jar包。
打開我們的eclipse我們神聖的編輯器,然后新建一個File,取名叫lib,專門存放第三方的jar。
然后把之前的netty的jar拖到里面,然后再配置路徑。

add jars吧這個包添加到路徑里面。
ok,往事具備。接着我們開始netty編程之旅。先聲明一點,讀者需要對netty有所了解,不然可能看不懂我寫的代碼。
首先,我們先打個package,取名為com.netty.server,在包里面我們新建一個類GameServer,就是我們的服務器的主入口。
public class GameServer {
public void bind(int port) throws Exception
{
EventLoopGroup bossGroup = new NioEventLoopGroup();//線程組
EventLoopGroup workGroup = new NioEventLoopGroup();
try {
ServerBootstrap b = new ServerBootstrap();//server啟動管理配置
b.group(bossGroup, workGroup)
.channel(NioServerSocketChannel.class)
.option(ChannelOption.SO_BACKLOG, 1024)//最大客戶端連接數為1024
.childHandler(new ChannelInitializer<SocketChannel>() {
@Override
protected void initChannel(SocketChannel ch) throws Exception {
//這里我們先不寫代碼,這里主要是添加業務處理handler
}
});
ChannelFuture f = b.bind(port).sync();
if (f.isSuccess())
{
System.out.println("Server starts success at port:" + port);
}
f.channel().closeFuture().sync();
} catch (Exception e) {
e.printStackTrace();
}finally{
bossGroup.shutdownGracefully();
workGroup.shutdownGracefully();
}
}
public static void main(String[] args) throws Exception
{
int port = 8080;
new GameServer().bind(port);
}
}
運行,就可以發現服務啟動了。
