require "socket" require "file_utils" SOCKET = "/tmp/myapp.sock" begin FileUtils.rm(SOCKET) rescue e : File::NotFoundError end server = UNIXServer.new(SOCKET) CLIENTS = [] of UNIXSocket Signal::INT.trap do puts "Closing server..." server.close(delete = true) exit end def handle_client(client) loop do message = client.gets p! client if message == "start" puts "::request START command::" client.puts "Hello :)" elsif message == "help" puts "::request HELP command::" client.puts "This example ECHO unix server!" elsif message == "run" puts "::request RUN command::" client.puts "Ready, Set, GO!" else break end end end puts "Listen..." while client = server.accept spawn handle_client(client) end