WEBrick独書会 第6回

GenericServer.new内のlistenメソッドからグダグダ読む。

        listen(@config[:BindAddress], @config[:Port])

@config[:Port]は待ち受けポート設定。
@config[:BindAddress]はリクエストを受け付けるIPアドレス


GenericServer.newから呼び出されるlistenメソッドを読む。

    def listen(address, port)
      @listeners += Utils::create_listeners(address, port, @logger)
    end

RubyリファレンスのWEBrickのlistenメソッドの説明によると
与えられたアドレスとポートで listen を開始し listeners に加える。
address は文字列。port は整数。listeners を返す。とある。
今回はutil.rbまでは追わずにここまでにする。


GenericServer.newに戻って、

        if @config[:Port] == 0
          @config[:Port] = @listeners[0].addr[1]
        end

RubyリファレンスのWEBrickのlistenersメソッドの説明によると、
listen している TCPServer オブジェクトの配列を返す。との事。
待ち受けポートが0の時はlisteners配列の
最初のTCPServerオブジェクトのaddr[1]を待ち受けポートにする。
なんでかな。


とりあえず、GenericServer.newはおしまい。