Sha256: b5ed20b8d098f8b43e17612e2c193c8edcf843fdda759458810365f3f1ce9b4e
Contents?: true
Size: 1023 Bytes
Versions: 1
Compression:
Stored size: 1023 Bytes
Contents
require 'gserver' require 'logger' # listen to a given port # accepts data from client # send ack to client # close the connection # # Can accept multiple client # Can listen on multiple ports module Crossover class Server < GServer def initialize(port, host='127.0.0.1', max_connections = 10, stdlog = $stdout, audit = true, debug = false ) if stdlog != $stdout @logger = Logger.new(File.expand_path(stdlog) ) end super(port, host, max_connections, $stdout, audit, debug ) end def serve(io) data = io.read(1024) log "client:#{io.peeraddr[1]} #{io.peeraddr[2]}<#{io.peeraddr[3]}> post #{data.bytesize} bytes\n#{data}" puts "" io.puts('Bye!') end def stopping log("#{self.class.to_s} #{@host}:#{@port} stop") @logger.close end def log message if @stdlog @stdlog.puts("[#{Time.new.ctime}] %s" % message) @stdlog.flush end if @logger @logger.info message end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
crossover-0.1.6 | lib/crossover/server.rb |