package Ġnet . master z ach 3 2 . app les . server Ċ Ċ import Ġio . netty . bootstrap . Server Bootstrap Ċ import Ġio . netty . channel . Channel Ċ import Ġio . netty . channel . Channel Future Ċ import Ġio . netty . channel . Channel Initializer Ċ import Ġio . netty . channel . Channel Option Ċ import Ġio . netty . channel . nio . Nio EventLoop Group Ċ import Ġio . netty . channel . socket . nio . Nio Server SocketChannel Ċ import Ġjava . nio . channels . SocketChannel Ċ Ċ /* Ċ Ġ* Ġapp les Ġ- ĠCreated Ġon Ġ 6 / 2 1 / 2 0 1 9 Ċ Ġ* ĠAuthor : ĠZ ach ĠK oz ar Ċ Ġ* ĠĊ Ġ* ĠThis Ġcode Ġis Ġlicensed Ġunder Ġthe ĠGNU ĠGPL Ġv 3 Ċ Ġ* ĠYou Ġcan Ġfind Ġmore Ġinfo Ġin Ġthe ĠLICENSE Ġfile Ġat Ġthe Ġproject Ġroot . Ċ Ġ*/ Ċ Ċ /** Ċ Ġ* Ġ@ author ĠZ ach ĠK oz ar Ċ Ġ* Ġ@ version Ġ 6 / 2 1 / 2 0 1 9 Ċ Ġ*/ Ċ object ĠServer Ġ{ ĊĊĠĠĠ Ġfun Ġstart ( port : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġboss Group Ġ= ĠN io EventLoop Group () ĊĠĠĠĠĠĠĠ Ġval Ġworker Group Ġ= ĠN io EventLoop Group () ĊĊĠĠĠĠĠĠĠ Ġval Ġb Ġ= ĠServer Bootstrap (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgroup ( boss Group , Ġworker Group ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchannel ( Nio Server SocketChannel :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild Handler ( object Ġ: ĠChannel Initializer < Channel >() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġinit Channel ( ch : ĠChannel ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġch . pipeline (). add Last () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoption ( Channel Option . SO _ BACK LOG , Ġ 1 2 8 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild Option ( Channel Option . SO _ KEEP AL IVE , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġf Ġ= Ġb . bind ( port ). sync () ĊĊĠĠĠĠĠĠĠ Ġf . channel (). close Future (). sync () ĊĠĠĠĠĠĠĠ Ġworker Group . shutdown Grace fully () ĊĠĠĠĠĠĠĠ Ġboss Group . shutdown Grace fully () ĊĠĠĠ Ġ} Ċ }