Netty游戲服務器之一


所謂磨刀不誤砍柴工,所以在搭建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);
	}
}

  

運行,就可以發現服務啟動了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM