class Plc::Emulator::EmuPlcServer

Public Class Methods

launch() click to toggle source
# File lib/plc/emulator/emu_plc_server.rb, line 33
def launch
  @server ||= begin
    server = new
    server.run
    server
  end
end
new(config = {}) click to toggle source
# File lib/plc/emulator/emu_plc_server.rb, line 43
def initialize config = {}
  @port = config[:port] || 5555
  @plc = EmuPlc.new
end

Public Instance Methods

run() click to toggle source
# File lib/plc/emulator/emu_plc_server.rb, line 48
def run
  @plc.run
  Thread.new do
    server = TCPServer.open @port
    puts "launching emulator ... "
    loop do
      socket = server.accept
      puts "done launching"
      while line = socket.gets
        begin
          r = @plc.execute_console_commands line
          socket.puts r
        rescue => e
          socket.puts "E0 #{e}\r"
        end
      end
    end
  end
end