require 'eventmachine' module PongServer def post_init puts "server: Got me a client!" end def receive_data(data) if data =~ /PING/ puts 'server: RECV PING' send_data("PONG\n") else puts "server: RECV #{data}" send_data("NOPE\n") end end def unbind puts "server: So long, client!" end end EventMachine.run do EventMachine.start_server('0.0.0.0', 24000, PongServer) puts 'Listening on 0.0.0.0:24000' end