Sha256: dcb2ab32a6236645bb4389479708dd9e2fe20d106bf8e33d98e974b52cc69d54
Contents?: true
Size: 704 Bytes
Versions: 129
Compression:
Stored size: 704 Bytes
Contents
#!/usr/bin/env ruby require 'rubygems' # or use Bundler.setup require 'eventmachine' class SimpleChatServer < EM::Connection @@connected_clients = Array.new # # EventMachine handlers # def post_init @@connected_clients.push(self) puts "A client has connected..." end def unbind @@connected_clients.delete(self) puts "A client has left..." end # # Helpers # def other_peers @@connected_clients.reject { |c| self == c } end # other_peers end EventMachine.run do # hit Control + C to stop Signal.trap("INT") { EventMachine.stop } Signal.trap("TERM") { EventMachine.stop } EventMachine.start_server("0.0.0.0", 10000, SimpleChatServer) end
Version data entries
129 entries across 126 versions & 10 rubygems