Class: FileTransfer::Server

Inherits:
Object
  • Object
show all
Defined in:
lib/filetransfer/server.rb

Instance Method Summary collapse

Constructor Details

#initialize(port: 8021, listen: "0.0.0.0") ⇒ Server

Returns a new instance of Server.



3
4
5
6
# File 'lib/filetransfer/server.rb', line 3

def initialize(port:8021, listen:"0.0.0.0")
  @port = port
  @listen = listen
end

Instance Method Details

#startObject



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/filetransfer/server.rb', line 8

def start
  @server = TCPServer.new(@listen, @port)
  loop do
    Thread.start(@server.accept) do |client|
      initdata = client.gets.split(" ")
      if initdata[0] == "GET"
        HTTPserver.handle_client(initdata, client)
      elsif initdata[0] == "FTSEND"
        FTserver.handle_client(initdata, client)
      elsif initdata[0] == "FTSUBMIT"
        FTserver.handle_file_submission(initdata, client)
      else
        client.close
      end
    end
  end
end