package Ġbr . com . uf u . sd . trab Ċ Ċ import Ġjava . io . BufferedReader Ċ import Ġjava . io . Buffered Writer Ċ import Ġjava . io . InputStream Reader Ċ import Ġjava . io . OutputStream Writer Ċ import Ġjava . net . Server Socket ĊĊ Ċ fun Ġmain ( args : ĠArray < String >) Ġ{ ĊĠĠĠ Ġprintln (" Hello , ĠWorld ") ĊĠĠĠ Ġval Ġsocket Ġ= ĠServer Socket ( 5 5 5 5 ) ĊĠĠĠ Ġwhile Ġ( true ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconnection Socket Ġ= Ġsocket . accept () ĊĊĠĠĠĠĠĠĠ Ġval Ġreader Ġ= ĠBufferedReader ( InputStream Reader ( connection Socket . getInputStream ())) ĊĠĠĠĠĠĠĠ Ġval Ġwriter Ġ= ĠBuffered Writer ( OutputStream Writer ( connection Socket . get OutputStream ())) ĊĊĠĠĠĠĠĠĠ Ġwriter . write (" *** ĠWelcome Ġto Ġthe ĠCalcul ation ĠServer Ġ( Addition ĠOnly ) Ġ*** \ n ") ĊĠĠĠĠĠĠĠ Ġwriter . write (" *** ĠPlease Ġtype Ġin Ġthe Ġfirst Ġnumber Ġand Ġpress ĠEnter Ġ: Ġ\ n ") ĊĠĠĠĠĠĠĠ Ġwriter . flush () ĊĠĠĠĠĠĠĠ Ġval Ġdata 1 Ġ= Ġreader . readLine (). trim Ġ{ Ġit Ġ<= Ġ' Ġ' Ġ} ĊĊĠĠĠĠĠĠĠ Ġwriter . write (" *** ĠPlease Ġtype Ġin Ġthe Ġsecond Ġnumber Ġand Ġpress ĠEnter Ġ: Ġ\ n ") ĊĠĠĠĠĠĠĠ Ġwriter . flush () ĊĠĠĠĠĠĠĠ Ġval Ġdata 2 Ġ= Ġreader . readLine (). trim Ġ{ Ġit Ġ<= Ġ' Ġ' Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġnum 1 Ġ= ĠInteger . parseInt ( data 1 ) ĊĠĠĠĠĠĠĠ Ġval Ġnum 2 Ġ= ĠInteger . parseInt ( data 2 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġnum 1 Ġ+ Ġnum 2 ĊĠĠĠĠĠĠĠ Ġprintln (" Addition Ġoperation Ġdone Ġ") ĊĊĠĠĠĠĠĠĠ Ġwriter . write ("\ n === ĠResult Ġis Ġ Ġ: Ġ$ result ") ĊĠĠĠĠĠĠĠ Ġwriter . flush () ĊĠĠĠĠĠĠĠ Ġconnection Socket . close () ĊĠĠĠ Ġ} ĊĊ Ċ } ĊĊ