package Ġcom . sa ff rame work . server . core . handler . websocket Ċ Ċ import Ġcom . sa ff rame work . server . core . handler . socket And WS . Socket Listener Ċ import Ġcom . sa ff rame work . server . core . log . Log Manager Ċ import Ġio . netty . channel . Channel Handler Ċ import Ġio . netty . channel . Channel HandlerContext Ċ import Ġio . netty . channel . Simple Channel Inbound Handler Ċ import Ġio . netty . handler . codec . http . websocket x . Text WebSocket Frame Ċ import Ġjava . net . Inet SocketAddress ĊĊ Ċ /** Ċ Ġ* Ċ Ġ* Ġ@ FileName : Ċ Ġ* ĠĠĠĠĠĠĠĠĠ Ġcom . sa ff rame work . server . core . handler . websocket . Text WebSocket Frame Handler Ċ Ġ* Ġ@ author : ĠT ony ĠSh en Ċ Ġ* Ġ@ date : Ġ 2 0 2 0 - 1 1 - 2 0 Ġ 1 7 : 3 9 Ċ Ġ* Ġ@ version : ĠV 1 . 0 Ġ< æııè¿° å½ĵåīį çīĪæľ¬ åĬŁèĥ½ > Ċ Ġ*/ Ċ @ Channel Handler . Sh arable Ċ class ĠText WebSocket Frame Handler ( private Ġval Ġm Listener : ĠSocket Listener < String >) Ġ: ĠSimple Channel Inbound Handler < Text WebSocket Frame >() Ġ{ ĊĊĠĠĠ Ġ// è¯» åĪ° å®¢æĪ·ç«¯ çļĦåĨħå®¹ å¹¶ä¸Ķ åĲĳ å®¢æĪ·ç«¯ åİ» åĨĻ åĨħå®¹ ĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġoverride Ġfun Ġchannel Read 0 ( ctx : ĠChannel HandlerContext , Ġmsg : ĠText WebSocket Frame ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog Manager . d ( TAG ," æĶ¶ åĪ° æ¶Īæģ¯ åĨħå®¹ ï¼ļ ${ msg . text () }") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġoverride Ġfun Ġchannel Read ( ctx : ĠChannel HandlerContext , Ġmsg : ĠAny ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġif Ġ( msg Ġis ĠText WebSocket Frame ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Listener . on Message Response Server ( msg . text () Ġ, Ġctx . channel (). id (). as Short Text ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġ æĸŃ å¼Ģ è¿ŀæİ¥ ĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġoverride Ġfun Ġchannel Inactive ( ctx : ĠChannel HandlerContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . channel Inactive ( ctx ) ĊĠĠĠĠĠĠĠ ĠLog Manager . d ( TAG , Ġ" channel Inactive ") ĊĊĠĠĠĠĠĠĠ Ġval Ġre Addr Ġ= Ġctx . channel (). remote Address () Ġas ĠInet SocketAddress ĊĠĠĠĠĠĠĠ Ġval Ġclient IP Ġ= Ġre Addr . address . host Address ĊĠĠĠĠĠĠĠ Ġval Ġclient Port Ġ= Ġre Addr . port ĊĊĠĠĠĠĠĠĠ ĠLog Manager . d ( TAG ," è¿ŀæİ¥ æĸŃ å¼Ģ ï¼ļ $ client IP Ġ: Ġ$ client Port ") ĊĊĠĠĠĠĠĠĠ Ġm Listener . on Channel Dis Connect ( ctx . channel ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠTAG Ġ= Ġ" Text WebSocket Frame Handler " ĊĠĠĠ Ġ} Ċ }