Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > webrick/serverライブラリ > WEBrick::GenericServerクラス
class WEBrick::GenericServer
クラスの継承リスト: WEBrick::GenericServer < Object < Kernel < BasicObject
Abstract
サーバの一般的な機能を提供するクラスです。 WEBrick::HTTPServer のスーパークラスです。
特異メソッド
new(config={}, default=WEBrick::Config::General)
[redefined by webrick/ssl]-
config で有効な項目が増える。以下は増える項目とそのデフォルト値。
# :ServerSoftware => "#{svrsoft} OpenSSL/#{osslv}", :SSLEnable => true, # ruby 1.8.3 以降では false がデフォルトです。 :SSLCertificate => nil, :SSLPrivateKey => nil, :SSLClientCA => nil, :SSLExtraChainCert => nil, :SSLCACertificateFile => nil, :SSLCACertificatePath => nil, :SSLCertificateStore => nil, :SSLVerifyClient => ::OpenSSL::SSL::VERIFY_NONE, :SSLVerifyDepth => nil, :SSLVerifyCallback => nil, # custom verification :SSLTimeout => nil, :SSLOptions => nil, :SSLStartImmediately => true, # Must specify if you use auto generated certificate. :SSLCertName => nil, :SSLCertComment => "Generated by Ruby/OpenSSL"
new(config={}, default=WEBrick::Config::General)
-
GenericServer オブジェクトを生成して返します。
- [PARAM] config:
- サーバの設定を保存したハッシュを指定します。有効なキーと値は以下のとおりです。
- :ServerName
-
サーバのホスト名を表す文字列を指定します。デフォルトの Utils.getservername は /etc/hostname に書かれている文字列です。
- :BindAddress
-
サーバのアドレスを指定します。デフォルトの nil や "0.0.0.0", "::" などを指定した 場合は使用可能なすべてのネットワークインターフェースに対して listen を開始します。 [[m:socket#ホスト指定形式]]を参照して下さい。
- :Port
-
サーバのポートを指定します。[[m:socket#サービス指定形式]]を参照を参照して下さい。
- :MaxClients
-
クライアントの最大接続数を表す整数です。
- :ServerType
-
サーバのタイプを表すクラスを指定します。 WEBrick::SimpleServer と WEBrick::Daemon が 提供されています。
- :Logger
-
ログをとるオブジェクト(Logger オブジェクト)を指定します。通常は WEBrick::Log のインスタンスを指定します。 WEBrick::Log.new(log_file, level) のように出力先とログレベルを設定することができます。 Logger オブジェクトに定義されているべきメソッドに関しては WEBrick::Log を参照して下さい。
- :ServerSoftware
-
サーバソフトウェア名を文字列で指定します。WEBrick::HTTPServer では Server ヘッダにこの値が出力されます。
- :DoNotListen
-
true の場合、GenericServer オブジェクトを生成しただけでは listen を開始しません。
- :StartCallback
-
start 開始時に呼ばれる Proc オブジェクト。呼ばれる時に引数は 特に与えられません。
- :StopCallback
-
サーバを stop した時に呼ばれる Proc オブジェクトを指定します。呼ばれる時に引数は 特に与えられません。
- :AcceptCallback
-
クライアントからの接続を accept したときに呼ばれる Proc オブジェクトを指定します。 クライアントと接続された TCPSocket オブジェクトを引数として呼ばれます。
- :DoNotReverseLookup
-
true の場合、ホスト名への逆引きを行わなくなります。 BasicSocket#do_not_reverse_lookup も参照して下さい。
- [PARAM] default:
- サーバのデフォルトの設定を保存したハッシュを指定します。指定された config で 設定がなかった項目に関してはこの default の値が使われます。
[SEE_ALSO] WEBrick::Config::General
インスタンスメソッド
self[key] -> object
-
self.config[key] と同値。
config -> Hash
-
サーバの設定を保存したハッシュを返す。
listen(address, port) -> [TCPServer]
-
与えられたアドレスとポートで TCPServer オブジェクトを生成し listeners に加えます。 WEBrick::GenericServer#listeners を返します。
- [PARAM] address:
- アドレスを文字列で指定します。
- [PARAM] port:
- listen するポートを整数で指定します。
[SEE_ALSO] TCPServer#listen
listeners -> [TCPServer]
-
listen している TCPServer オブジェクトの配列を返します。
logger -> WEBrick::Log
-
生成する時に指定された、自身をロギングする WEBrick::Log のインスタンスを返します。
run(sock) -> ()
-
クライアントと接続された TCPSocket オブジェクトを引数として呼ばれ、 具体的な処理を行います。 WEBrick::GenericServer のサブクラスはこのメソッドを適切に再定義しなければいけません。
- [PARAM] sock:
- クライアントと接続された TCPSocket オブジェクトを指定します。
shutdown -> ()
-
WEBrick::GenericServer#stop を呼び、全ての listeners を close します。
ssl_context
[redefined by webrick/ssl]-
サーバが保持する OpenSSL::SSL::SSLContext オブジェクトを返す。
start -> ()
start {|soc| ... } -> ()
-
サーバをスタートします。
ブロックが与えられた場合 WEBrick::GenericServer#run メソッドの 代わりにブロックが実際のクライアントとの応答を担います。 ブロックは TCPSocket オブジェクトを引数として呼ばれます。
status -> Symbol
-
現在のサーバのステータスを Symbol オブジェクトで返します。 値は :Running(活動中), :Shutdown(終了処理中), :Stop(完全に停止) のいずれかです。
stop -> ()
-
サーバを停止します。
実際にはサーバの状態を :Shutdown にするだけで、サーバがすぐに停止するとは限りません。
tokens -> SizedQueue
-
MaxClient の設定のために使われる SizedQueue オブジェクトを返します。 SizedQueue オブジェクトのサイズは現在受け付けることのできるクライアントの数です。
MaxClient を知りたい場合は self.tokens.max です。 self.tokens.max - self.tokens.length が現在のクライアントの接続数です。