class GServer
クラスの継承リスト: GServer < Object < Kernel < BasicObject
要約
サーバを実装するためのクラスです。GServer を継承した新しいクラスを定義して使います。 fork ではなくスレッドを使っています。
特異メソッド
in_service?(port, host = GServer::DEFAULT_HOST) -> bool
-
与えられた host と port で GServer オブジェクトが同じプロセス内で サービス中なら真を返します。
- [PARAM] port:
- ポート番号を指定します。
- [PARAM] host:
- ホストを指定します。
new(port, host = GServer::DEFAULT_HOST, maxConnections = 4, stdlog = $stderr, audit = false, debug = false)
-
GServer オブジェクトを生成します。
- [PARAM] port:
- サーバがリッスンするポートを指定します。
- [PARAM] host:
- ホストを指定します。
- [PARAM] maxConnections:
- 最大接続数を指定します。デフォルトは 4 です。
- [PARAM] stdlog:
- ログの出力先を指定します。デフォルトは標準エラー出力です。
- [PARAM] audit:
- 真を指定するとサーバの起動時、接続時、切断時、停止時にログを出力します。
- [PARAM] debug:
- 真を指定するとデバッグログを出力します。
stop(port, host = DEFAULT_HOST) -> ()
-
与えられた host と port に対応する GServer オブジェクトを停止します。
- [PARAM] port:
- ポート番号を指定します。
- [PARAM] host:
- ホストを指定します。
インスタンスメソッド
audit -> bool
-
真であれば、サーバの起動時、接続時、切断時、停止時にログを出力します。
[SEE_ALSO] GServer#starting, GServer#connecting, GServer#disconnecting, GServer#stopping
audit=(bool)
-
真を指定すると、サーバの起動時、接続時、切断時、停止時にログを出力します。
- [PARAM] bool:
- 真偽値を指定します。
[SEE_ALSO] GServer#starting, GServer#connecting, GServer#disconnecting, GServer#stopping
connecting(client) -> true
-
GServer#audit が真ならば、クライアント接続時に呼ばれます。
サブクラスでオーバーライドします。
- [PARAM] client:
- クライアントと接続している TCPSocket です。
connections() -> Fixnum
-
現在接続しているクライアントの数を返します。
debug -> bool
-
デバッグモードなら真、そうでないなら偽を返します。
debug=(bool)
-
真を指定するとデバッグモードが有効になります。 偽を指定するとデバッグモードが無効になります。
- [PARAM] bool:
- 真偽値を指定します。
disconnecting(clientPort) -> ()
-
GServer#audit が真ならば、クライアントとの接続終了時に呼ばれます。
サブクラスでオーバーライドします。
- [PARAM] clientPort:
- 接続していたクライアントのポートです。
error(detail) -> ()
-
GServer#debug が真の場合、例外が発生すると呼ばれます。
- [PARAM] detail:
- 例外オブジェクトです。
host -> String
-
ホストを文字列で返します。
join
-
サーバのサービスを実行しているスレッドを Thread#join します。
[SEE_ALSO] Thread#join
log(msg) -> ()
-
与えられた文字列をログに記録します。
- [PARAM] msg:
- ログとして記録する文字列を指定します。
maxConnections -> Fixnum
-
受け付ける最大接続数を返します。
port -> Fixnum
-
ポートを数で返します。
serve(io) -> nil
-
何もしません。サブクラスでオーバーライドします。
- [PARAM] io:
- クライアントと接続している TCPSocket を指定します。
shutdown -> true
-
自身を停止します。
start(maxConnections = -1) -> self
-
自身を起動します。
- [PARAM] maxConnections:
- 0 より大きい数値を指定すると、最大接続数として設定されます。
starting -> ()
-
GServer#audit が真ならば、サーバ起動時に呼ばれます。 サブクラスでオーバーライドします。
stdlog -> IO
stdlog=(io)
-
ログを出力する先の IO オブジェクトを設定します。
- [PARAM] io:
- ログを出力する先の IO オブジェクトを設定します。
stop -> ()
-
自身をすぐに停止します。
stopped? -> bool
-
自身が停止しているなら真を返します。
stopping -> ()
-
GServer#audit が真ならば、サーバ停止時に呼ばれます。 サブクラスでオーバーライドします。
定数
DEFAULT_HOST -> String
-
"127.0.0.1" です。