let main_server serv_fun = let port = 2000 in let my_address = Unix.inet_addr_any in Unix.establish_server serv_fun (Unix.ADDR_INET(my_address, port)) let uppercase_service ic oc = try while true do let s = input_line ic in let r = String.uppercase s in output_string oc (r ^ "\n"); flush oc done with _ -> Printf.printf "End of text\n"; flush stdout; exit 0 let _ = Unix.handle_unix_error main_server uppercase_service