Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > gserverライブラリ > GServerクラス
class GServer
クラスの継承リスト: GServer < Object < Kernel < BasicObject
Abstract
サーバを実装するためのクラスです。GServer を継承した新しいクラスを定義して使います。 fork ではなくスレッドを使っています。
例:
# # 1970年からの経過時間を秒で返すサーバの例です。 # class TimeServer < GServer def initialize(port=10001, *args) super(port, *args) end def serve(io) io.puts(Time.now.to_i) end end # ログを取る設定でサーバをスタートします。 server = TimeServer.new server.audit = true # Turn logging on. server.start # まだサーバが動いているかを確認してみましょう。 GServer.in_service?(10001) # -> true server.stopped? # -> false # サーバを止めます。 server.shutdown # すぐさまサーバを止めることもできます。 GServer.stop(10001) # もちろん server.stop でも可能です。
参照
特異メソッド
in_service?(port, host = DEFAULT_HOST)
-
与えられた host と port で GServer オブジェクトが同じプロセス内で サービス中なら真を返します。
new(port, host = DEFAULT_HOST, maxConnections = 4, stdlog = $stderr, audit = false, debug = false)
-
GServer オブジェクトを生成します。
stop(port, host = DEFAULT_HOST)
-
与えられた host と port に対応する GServer オブジェクトを停止します。
インスタンスメソッド
audit
-
メソッド starting, connecting, disconnecting, stopping をそれぞれ定められた時に呼ぶなら true、そうでないなら false を返します。
audit=(bool)
-
true なら GServer はログを取るためのメソッド starting, connecting, disconnecting, stoppingを それぞれ定められた時に呼びます。
connecting(client)
-
audit が true に設定されているなら、クライアント接続時に呼ばれます。 client はクライアントと接続している TCPSocket です。 サブクラスでオーバーライドします。
connections()
-
現在接続しているクライアントの数を返します。
debug
-
デバッグモードなら true、そうでないなら false を返します。
debug=(bool)
-
デバッグモードにするかどうかを設定します。
disconnecting(clientPort)
-
audit が true に設定されているなら、クライアントとの接続終了時に呼ばれます。 clientPort は接続していたクライアントのポートです。 サブクラスでオーバーライドします。
error(detail)
-
debug が true に設定されている時、例外が発生すると呼ばれます。 detail は例外オブジェクトです。protected メソッドです。
host
-
ホストを文字列で返します。
join
-
サーバのサービスを実行しているスレッドを join します。
log(msg)
-
文字列 msg をログに記録します。protected メソッドです。
maxConnections
-
受け付ける最大接続数を返します。
port
-
ポートを数で返します。
serve(io)
-
何もしません。サブクラスでオーバーライドします。
shutdown
-
GServer を停止します。
start(maxConnections = -1)
-
GServer を起動します。 0 より大きい maxConnections を与えたなら、 最大接続数として設定されます。
starting
-
audit が true に設定されているなら、サーバ起動時に呼ばれます。 サブクラスでオーバーライドします。
stdlog
-
ログを出力する先の IO オブジェクトを返します。デフォルトは $stderr です。
stdlog=(io)
-
ログを出力する先の IO オブジェクトを設定します。デフォルトは $stderr です。
stop
-
GServer をすぐに停止します。
stopped?
-
GServer が停止しているなら真を返します。
stopping
-
audit が true に設定されているなら、サーバ停止時に呼ばれます。 サブクラスでオーバーライドします。
定数
DEFAULT_HOST
-
"127.0.0.1" です。