ライブラリ
-
cgi
/ core (4) - drb (19)
-
drb
/ extserv (2) - etc (2)
- fileutils (2)
- observer (5)
- openssl (13)
-
rubygems
/ server (11) - socket (37)
-
webrick
/ httpproxy (2) -
webrick
/ httprequest (1) -
webrick
/ https (1) -
webrick
/ httpserver (11) -
webrick
/ httpservlet / abstract (2) -
webrick
/ httpservlet / cgihandler (1) -
webrick
/ httpservlet / erbhandler (1) -
webrick
/ httpservlet / filehandler (1) -
webrick
/ httpservlet / prochandler (1) -
webrick
/ httpstatus (1) -
webrick
/ server (12) -
webrick
/ ssl (2) -
webrick
/ utils (2) -
win32
/ registry (4) - win32ole (1)
クラス
-
DRb
:: DRbServer (17) -
DRb
:: ExtServ (2) -
Gem
:: Server (11) -
OpenSSL
:: SSL :: SSLContext (2) -
OpenSSL
:: SSL :: SSLServer (7) - Socket (21)
- TCPServer (6)
- UNIXServer (8)
-
WEBrick
:: GenericServer (14) -
WEBrick
:: HTTPProxyServer (1) -
WEBrick
:: HTTPRequest (2) -
WEBrick
:: HTTPServer (7) -
WEBrick
:: HTTPServer :: MountTable (4) -
WEBrick
:: HTTPServlet :: AbstractServlet (2) -
WEBrick
:: HTTPServlet :: CGIHandler (1) -
WEBrick
:: HTTPServlet :: DefaultFileHandler (1) -
WEBrick
:: HTTPServlet :: ERBHandler (1) -
WEBrick
:: HTTPServlet :: ProcHandler (1) - WIN32OLE (1)
-
Win32
:: Registry (4)
モジュール
-
CGI
:: QueryExtension (4) - DRb (2)
- Etc (2)
- FileUtils (2)
- Observable (5)
-
OpenSSL
:: SSL (1) -
OpenSSL
:: X509 (3) -
Socket
:: Constants (2) -
WEBrick
:: HTTPStatus (1) -
WEBrick
:: Utils (2)
キーワード
-
DOC
_ TEMPLATE (1) - HTTPProxyServer (1)
-
INSECURE
_ METHOD (1) -
IPPORT
_ RESERVED (2) -
IPPORT
_ USERRESERVED (2) - Marshal (1)
-
OP
_ CIPHER _ SERVER _ PREFERENCE (1) -
PURPOSE
_ NS _ SSL _ SERVER (1) -
PURPOSE
_ SSL _ SERVER (1) -
RDOC
_ CSS (1) -
SC
_ SPORADIC _ SERVER (1) -
SC
_ THREAD _ SPORADIC _ SERVER (1) -
SESSION
_ CACHE _ SERVER (1) -
TRUST
_ SSL _ SERVER (1) - [] (2)
- accept (3)
-
accept
_ nonblock (2) -
add
_ observer (1) - alive? (1)
- close (1)
- config (2)
- connect (1)
-
connect
_ nonblock (1) -
copy
_ entry (1) -
copy
_ file (1) -
count
_ observers (1) -
create
_ listeners (1) -
current
_ server (1) -
default
_ acl (1) -
default
_ argc _ limit (1) -
default
_ id _ conv (1) -
default
_ load _ limit (1) -
default
_ safe _ level (1) - delete (1)
-
delete
_ observer (1) -
delete
_ observers (1) - front (1)
-
get
_ instance (2) - getservername (1)
- here? (1)
-
latest
_ specs (1) - listen (4)
- listeners (1)
- logger (1)
- mount (1)
-
mount
_ proc (2) - new (18)
-
notify
_ observers (1) - open (5)
-
primary
_ server (1) - quick (1)
- root (1)
-
ruby 1
. 8 . 4 feature (1) -
rubygems
/ commands / server _ command (1) - run (3)
-
safe
_ level (1) - scan (1)
- server (1)
-
server
_ cert (1) -
server
_ error? (1) -
server
_ name (2) -
server
_ port (1) -
server
_ protocol (1) -
server
_ software (1) -
servername
_ cb (1) - shutdown (2)
- specs (1)
-
ssl
_ context (1) - start (2)
-
start
_ immediately (1) - status (1)
- stop (1)
-
stop
_ service (1) - sysaccept (2)
-
tcp
_ server _ loop (2) -
tcp
_ server _ sockets (4) - thread (1)
-
to
_ io (1) - tokens (1)
-
udp
_ server _ loop (2) -
udp
_ server _ loop _ on (1) -
udp
_ server _ recv (1) -
udp
_ server _ sockets (4) - umount (1)
-
unix
_ server _ loop (1) -
unix
_ server _ socket (2) - unmount (1)
- uri (1)
- verbose (2)
-
virtual
_ host (1) - yaml (1)
検索結果
先頭5件
-
DRb
. # current _ server -> DRb :: DRbServer (18901.0) -
「カレントサーバ」を返します。
「カレントサーバ」を返します。
リモートメソッドが呼び出された場合、そのスレッドでは、その呼び出しを管理している
サーバがカレントサーバとなります。そうでない場合はプライマリサーバとなります。
通常、カレントサーバとプライマリサーバは一致しますが、複数のサーバを
異なる URI で起動した場合などにはこの2つが異なる場合があります。
@raise DRb::DRbServerNotFound カレントサーバが存在しない場合に発生します
@see DRb.#primary_server -
DRb
. # primary _ server -> DRb :: DRbServer|nil (18901.0) -
ローカルプロセスのプライマリサーバーを返します。
ローカルプロセスのプライマリサーバーを返します。
プライマリサーバとは DRb.#start_service によって
起動されるサーバです。
サーバが動いていない場合は nil を返します。
@see DRb.#stop_service -
DRb
:: ExtServ # server -> DRb :: DRbServer (18901.0) -
通信に利用しているサーバを返します。
通信に利用しているサーバを返します。
DRb::ExtServ.new で指定した DRb::DRbServer を返します。 -
Observable
# add _ observer(observer , func=:update) -> Array (18901.0) -
オブザーバを登録します。
オブザーバを登録します。
オブザーバを登録し、登録されているオブザーバのリストを返します。
オブザーバは update メソッドを備えている必要があります。
observer が update メソッドを持たないときは
例外 NoMethodError が発生します。
func を指定することで update 以外のメソッドを通知に用いることができます。
@param observer 更新の通知を受けるオブザーバ
@param func 更新の通知をするメソッド
@raise NoMethodError updateメソッドを持たないオブジェクトをオブザーバに指定した場合に発生し... -
Observable
# delete _ observer(observer) -> object | nil (18901.0) -
オブザーバを削除します。
オブザーバを削除します。
指定されたオブジェクトがオブザーバとして登録されていた場合は、
リストからオブジェクトを削除し、取り除かれたオブジェクトを返します。
登録されていなかった場合は、nil を返します。
@param observer 削除するオブザーバ -
Socket
. unix _ server _ loop(path) {|socket , client _ addrinfo| . . . } -> () (18673.0) -
Unix サーバソケットを生成し、 新しい接続を受け入れるごとにブロックを呼び出します。
Unix サーバソケットを生成し、
新しい接続を受け入れるごとにブロックを呼び出します。
ブロックには新しい接続を表すソケットオブジェクトと、
クライアントアドレスを表す Addrinfo オブジェクトが渡されます。
ブロックの実行が終わってもソケットは close されません。
アプリケーション側が明示的に close する必要があります。
path という名前のファイルが既に存在するときは、
そのファイルのオーナである場合は先にそのファイルを削除してしまいます。
これは path が悪意あるユーザによって変更されない場合に限りは安全です。
つまり、 /tmp/malicious-us... -
CGI
:: QueryExtension # server _ name -> String (18601.0) -
ENV['SERVER_NAME'] を返します。
ENV['SERVER_NAME'] を返します。 -
CGI
:: QueryExtension # server _ port -> Integer (18601.0) -
ENV['SERVER_PORT'] を返します。
ENV['SERVER_PORT'] を返します。 -
CGI
:: QueryExtension # server _ protocol -> String (18601.0) -
ENV['SERVER_PROTOCOL'] を返します。
ENV['SERVER_PROTOCOL'] を返します。 -
CGI
:: QueryExtension # server _ software -> String (18601.0) -
ENV['SERVER_SOFTWARE'] を返します。
ENV['SERVER_SOFTWARE'] を返します。 -
Observable
# count _ observers -> Integer (18601.0) -
登録されているオブザーバの数を返します。
登録されているオブザーバの数を返します。 -
Observable
# delete _ observers -> Array (18601.0) -
オブザーバをすべて削除します。
オブザーバをすべて削除します。
登録されているオブザーバのリストから全てのオブジェクトを取り除き、
空となったオブザーバのリストを返します。 -
Observable
# notify _ observers(*arg) -> nil (18601.0) -
オブザーバへ更新を通知します。
オブザーバへ更新を通知します。
更新フラグが立っていた場合は、
登録されているオブザーバの update メソッドを順次呼び出します。
与えられた引数はその update メソッドに渡されます。
与えられた引数の数と登録されているオブザーバのupdate メソッドの引数の数に違いがある場合は
例外ArgumentErrorを発生します。
全てのオブザーバの update メソッドを呼び出し後、更新フラグを初期化します。
@raise ArgumentError 与えられた引数の数と登録されているオブザーバのupdate メソッドの引数の数に違いがある場合に発生します。 -
OpenSSL
:: SSL :: OP _ CIPHER _ SERVER _ PREFERENCE -> Integer (18601.0) -
暗号スイートの選択においてサーバ側の優先順位を優先するフラグです。
暗号スイートの選択においてサーバ側の優先順位を優先するフラグです。
OpenSSL::SSL::SSLContext#options= で利用します。
このフラグを立てていない場合はクライアント側の優先順位を優先します。 -
OpenSSL
:: SSL :: SSLContext # servername _ cb -> Proc | nil (18601.0) -
TLS の Server Name Indication(SNI) 拡張で クライアント側からホスト名が伝えられてきた場合に 呼びだされるコールバックを返します。
TLS の Server Name Indication(SNI) 拡張で
クライアント側からホスト名が伝えられてきた場合に
呼びだされるコールバックを返します。
詳しくは OpenSSL::SSL::SSLContext#servername_cb= を見てください。 -
OpenSSL
:: SSL :: SSLContext :: SESSION _ CACHE _ SERVER -> Integer (18601.0) -
サーバ側でセッションをキャッシュすることを意味します。
サーバ側でセッションをキャッシュすることを意味します。
OpenSSL::SSL::SSLContext#session_cache_mode= に
渡すフラグとして用います。
このフラグが立っているとサーバ側の OpenSSL::SSL::SSLContext
でセッションキャッシュの保持と管理、再利用が
行われます。
このフラグはデフォルトで有効になっています。 -
OpenSSL
:: X509 :: PURPOSE _ NS _ SSL _ SERVER -> Integer (18601.0) -
証明書が Netscape SSL server の証明書として使えるか チェックすることを意味します。
証明書が
Netscape SSL server の証明書として使えるか
チェックすることを意味します。
OpenSSL::X509::Store#purpose= や
OpenSSL::X509::StoreContext#purpose= で設定し、
OpenSSL::X509::Store#verify や
OpenSSL::X509::StoreContext#verify で
このことを確認します。 -
OpenSSL
:: X509 :: PURPOSE _ SSL _ SERVER -> Integer (18601.0) -
証明書が SSL のサーバサイドの証明書として使えるか。 チェックすることを意味します。
証明書が
SSL のサーバサイドの証明書として使えるか。
チェックすることを意味します。
OpenSSL::X509::Store#purpose= や
OpenSSL::X509::StoreContext#purpose= で設定し、
OpenSSL::X509::Store#verify や
OpenSSL::X509::StoreContext#verify で
このことを確認します。 -
OpenSSL
:: X509 :: TRUST _ SSL _ SERVER -> Integer (18601.0) -
@todo
@todo -
Socket
. tcp _ server _ loop(host , port) {|sock , addr| . . . } -> () (18601.0) -
TCP/IP で host:port で待ち受けるサーバ側のソケットを作成し、 新しい接続を受け入れるごとにブロックを呼び出します。
TCP/IP で host:port で待ち受けるサーバ側のソケットを作成し、
新しい接続を受け入れるごとにブロックを呼び出します。
ブロックには新しい接続を表すソケットオブジェクトと、
クライアントアドレスを表す Addrinfo オブジェクトが渡されます。
ブロックの実行が終わってもソケットは close されません。
アプリケーション側が明示的に close する必要があります。
このメソッドはブロックを逐次的に呼び出します。
つまりブロックからリターンするまで次のコネクションを受け入れません。
そのため、同時に複数のクライアントと通信したい場合は
スレッドのような並列機構を使う必... -
Socket
. tcp _ server _ loop(port) {|sock , addr| . . . } -> () (18601.0) -
TCP/IP で host:port で待ち受けるサーバ側のソケットを作成し、 新しい接続を受け入れるごとにブロックを呼び出します。
TCP/IP で host:port で待ち受けるサーバ側のソケットを作成し、
新しい接続を受け入れるごとにブロックを呼び出します。
ブロックには新しい接続を表すソケットオブジェクトと、
クライアントアドレスを表す Addrinfo オブジェクトが渡されます。
ブロックの実行が終わってもソケットは close されません。
アプリケーション側が明示的に close する必要があります。
このメソッドはブロックを逐次的に呼び出します。
つまりブロックからリターンするまで次のコネクションを受け入れません。
そのため、同時に複数のクライアントと通信したい場合は
スレッドのような並列機構を使う必... -
Socket
. tcp _ server _ sockets(host , port) -> [Socket] (18601.0) -
TCP/IP で host:port で待ち受けるサーバ側のソケットを 作成します。
TCP/IP で host:port で待ち受けるサーバ側のソケットを
作成します。
ブロックなしの場合は、ソケットオブジェクトの配列を返します。
ブロック付きの場合は、ソケットオブジェクトをそのブロックに
渡して呼び出します。ブロック終了時にそれらのソケットを閉じます。
返り値はブロックの評価値となります。
port が 0 の場合は、実際のポート番号は動的に選ばれます。
ただし返り値のソケットはすべて同じ番号を持ちます。
require 'socket'
# tcp_server_sockets returns は2つのソケットを返す
sockets = Socke... -
Socket
. tcp _ server _ sockets(host , port) {|sockets| . . . } -> object (18601.0) -
TCP/IP で host:port で待ち受けるサーバ側のソケットを 作成します。
TCP/IP で host:port で待ち受けるサーバ側のソケットを
作成します。
ブロックなしの場合は、ソケットオブジェクトの配列を返します。
ブロック付きの場合は、ソケットオブジェクトをそのブロックに
渡して呼び出します。ブロック終了時にそれらのソケットを閉じます。
返り値はブロックの評価値となります。
port が 0 の場合は、実際のポート番号は動的に選ばれます。
ただし返り値のソケットはすべて同じ番号を持ちます。
require 'socket'
# tcp_server_sockets returns は2つのソケットを返す
sockets = Socke... -
Socket
. tcp _ server _ sockets(port) -> [Socket] (18601.0) -
TCP/IP で host:port で待ち受けるサーバ側のソケットを 作成します。
TCP/IP で host:port で待ち受けるサーバ側のソケットを
作成します。
ブロックなしの場合は、ソケットオブジェクトの配列を返します。
ブロック付きの場合は、ソケットオブジェクトをそのブロックに
渡して呼び出します。ブロック終了時にそれらのソケットを閉じます。
返り値はブロックの評価値となります。
port が 0 の場合は、実際のポート番号は動的に選ばれます。
ただし返り値のソケットはすべて同じ番号を持ちます。
require 'socket'
# tcp_server_sockets returns は2つのソケットを返す
sockets = Socke... -
Socket
. tcp _ server _ sockets(port) {|sockets| . . . } -> object (18601.0) -
TCP/IP で host:port で待ち受けるサーバ側のソケットを 作成します。
TCP/IP で host:port で待ち受けるサーバ側のソケットを
作成します。
ブロックなしの場合は、ソケットオブジェクトの配列を返します。
ブロック付きの場合は、ソケットオブジェクトをそのブロックに
渡して呼び出します。ブロック終了時にそれらのソケットを閉じます。
返り値はブロックの評価値となります。
port が 0 の場合は、実際のポート番号は動的に選ばれます。
ただし返り値のソケットはすべて同じ番号を持ちます。
require 'socket'
# tcp_server_sockets returns は2つのソケットを返す
sockets = Socke... -
Socket
. udp _ server _ loop(host , port) {|msg , msg _ src| . . . } -> () (18601.0) -
UDP のサーバを起動して、メッセージが来るごとに ブロックを呼び出します。
UDP のサーバを起動して、メッセージが来るごとに
ブロックを呼び出します。
ブロックに渡される引数は msg と msg_src の 2 つで、
msg は受け取ったメッセージ文字列で、 msg_src は
通信相手の Socket::UDPSource オブジェクトです。
@param host 割り当てるホスト名
@param port 割り当てるポート番号
@see Socket.udp_server_sockets, Socket.udp_server_loop_on -
Socket
. udp _ server _ loop(port) {|msg , msg _ src| . . . } -> () (18601.0) -
UDP のサーバを起動して、メッセージが来るごとに ブロックを呼び出します。
UDP のサーバを起動して、メッセージが来るごとに
ブロックを呼び出します。
ブロックに渡される引数は msg と msg_src の 2 つで、
msg は受け取ったメッセージ文字列で、 msg_src は
通信相手の Socket::UDPSource オブジェクトです。
@param host 割り当てるホスト名
@param port 割り当てるポート番号
@see Socket.udp_server_sockets, Socket.udp_server_loop_on -
Socket
. udp _ server _ loop _ on(sockets) {|msg , msg _ src| . . . } -> () (18601.0) -
sockets (UDP のソケット)に対し、通信を待ち受けます。
sockets (UDP のソケット)に対し、通信を待ち受けます。
Socket.udp_server_sockets の返り値がこれの引数に適切です。
ソケットからメッセージを受け取るたびにブロックを呼び出します。
ブロックに渡される引数は msg と msg_src の 2 つで、
msg は受け取ったメッセージ文字列で、 msg_src は
通信相手の Socket::UDPSource オブジェクトです。
無限ループ構造になっています。
@param sockets 通信を待ち受けるソケットの配列
@see Socket.udp_server_recv, Socket.ud... -
Socket
. udp _ server _ recv(sockets) {|msg , msg _ src| . . . } -> () (18601.0) -
socketsで与えられた各 UDP ソケットからデータを読み取ります。
socketsで与えられた各 UDP ソケットからデータを読み取ります。
各ソケットからメッセージを読み取るごとにブロックを呼び出します。
ブロックに渡される引数は msg と msg_src の 2 つで、
msg は受け取ったメッセージ文字列で、 msg_src は
通信相手の Socket::UDPSource オブジェクトです。
Socket.udp_server_loop はこのメソッドの用いて以下のようにして
実装できます。
require 'socket'
udp_server_sockets(host, port) {|sockets|
loop {
... -
Socket
. udp _ server _ sockets(host , port) -> [Sockets] (18601.0) -
UDP で host:port を待ち受けるサーバ側のソケットを作成します。
UDP で host:port を待ち受けるサーバ側のソケットを作成します。
ブロックなしの場合は、ソケットオブジェクトの配列を返します。
ブロック付きの場合は、ソケットオブジェクトをそのブロックに
渡して呼び出します。ブロック終了時にそれらのソケットを閉じます。
port が 0 の場合は、実際のポート番号は動的に選ばれます。
ただし返り値のソケットはすべて同じ番号を持ちます。
# UDP/IP echo server
require 'socket'
Socket.udp_server_sockets(0) {|sockets|
p sockets.firs... -
Socket
. udp _ server _ sockets(host , port) {|sockets| . . . } -> object (18601.0) -
UDP で host:port を待ち受けるサーバ側のソケットを作成します。
UDP で host:port を待ち受けるサーバ側のソケットを作成します。
ブロックなしの場合は、ソケットオブジェクトの配列を返します。
ブロック付きの場合は、ソケットオブジェクトをそのブロックに
渡して呼び出します。ブロック終了時にそれらのソケットを閉じます。
port が 0 の場合は、実際のポート番号は動的に選ばれます。
ただし返り値のソケットはすべて同じ番号を持ちます。
# UDP/IP echo server
require 'socket'
Socket.udp_server_sockets(0) {|sockets|
p sockets.firs... -
Socket
. udp _ server _ sockets(port) -> [Sockets] (18601.0) -
UDP で host:port を待ち受けるサーバ側のソケットを作成します。
UDP で host:port を待ち受けるサーバ側のソケットを作成します。
ブロックなしの場合は、ソケットオブジェクトの配列を返します。
ブロック付きの場合は、ソケットオブジェクトをそのブロックに
渡して呼び出します。ブロック終了時にそれらのソケットを閉じます。
port が 0 の場合は、実際のポート番号は動的に選ばれます。
ただし返り値のソケットはすべて同じ番号を持ちます。
# UDP/IP echo server
require 'socket'
Socket.udp_server_sockets(0) {|sockets|
p sockets.firs... -
Socket
. udp _ server _ sockets(port) {|sockets| . . . } -> object (18601.0) -
UDP で host:port を待ち受けるサーバ側のソケットを作成します。
UDP で host:port を待ち受けるサーバ側のソケットを作成します。
ブロックなしの場合は、ソケットオブジェクトの配列を返します。
ブロック付きの場合は、ソケットオブジェクトをそのブロックに
渡して呼び出します。ブロック終了時にそれらのソケットを閉じます。
port が 0 の場合は、実際のポート番号は動的に選ばれます。
ただし返り値のソケットはすべて同じ番号を持ちます。
# UDP/IP echo server
require 'socket'
Socket.udp_server_sockets(0) {|sockets|
p sockets.firs... -
Socket
. unix _ server _ socket(path) -> Socket (18601.0) -
Unix サーバソケットを生成します。
Unix サーバソケットを生成します。
ブロックが省略されたときは、生成されたソケットが返されます。
ブロックが渡されたときは、生成されたソケットを
引数としてブロックを呼び出します。メソッドの返り値は
ブロックの評価値となります。また、ブロックの終了後に
ソケットを IO#close します。
require 'socket'
socket = Socket.unix_server_socket("/tmp/s")
p socket #=> #<Socket:fd 3>
p socket.local_address #=> #<... -
Socket
. unix _ server _ socket(path) {|sock| . . . } -> object (18601.0) -
Unix サーバソケットを生成します。
Unix サーバソケットを生成します。
ブロックが省略されたときは、生成されたソケットが返されます。
ブロックが渡されたときは、生成されたソケットを
引数としてブロックを呼び出します。メソッドの返り値は
ブロックの評価値となります。また、ブロックの終了後に
ソケットを IO#close します。
require 'socket'
socket = Socket.unix_server_socket("/tmp/s")
p socket #=> #<Socket:fd 3>
p socket.local_address #=> #<... -
Socket
:: Constants :: IPPORT _ RESERVED -> Integer (18601.0) -
利用法が予約されているポート番号の最大値。
利用法が予約されているポート番号の最大値。 -
Socket
:: Constants :: IPPORT _ USERRESERVED -> Integer (18601.0) -
ユーザが自由に利用して良いポート番号の最小値。
ユーザが自由に利用して良いポート番号の最小値。 -
Socket
:: IPPORT _ RESERVED -> Integer (18601.0) -
利用法が予約されているポート番号の最大値。
利用法が予約されているポート番号の最大値。 -
Socket
:: IPPORT _ USERRESERVED -> Integer (18601.0) -
ユーザが自由に利用して良いポート番号の最小値。
ユーザが自由に利用して良いポート番号の最小値。 -
WEBrick
:: HTTPRequest # server _ cert -> OpenSSL :: X509 :: Certificate (18601.0) -
サーバ証明書を表すオブジェクトを返します。
サーバ証明書を表すオブジェクトを返します。
@see OpenSSL::X509::Certificate -
WEBrick
:: HTTPRequest # server _ name -> String (18601.0) -
サーバの名前を返します。
サーバの名前を返します。 -
WEBrick
:: HTTPStatus . # server _ error?(code) -> bool (18601.0) -
指定された整数が表すステータスコードが 5XX である場合に true を返します。そうでない場合に false を返します。
指定された整数が表すステータスコードが 5XX である場合に
true を返します。そうでない場合に false を返します。
@param code HTTP のステータスコードを表す整数か文字列を指定します。 -
WEBrick
:: Utils . # getservername -> String (18601.0) -
プロセスが動いているマシンのホスト名を文字列で返します。
プロセスが動いているマシンのホスト名を文字列で返します。
require 'webrick'
p WEBrick::Utils.getservername #=> "localhost" -
rubygems
/ commands / server _ command (18145.0) -
ローカルにインストールされている Gem パッケージとそのドキュメントを HTTP サーバに 載せて公開するためのライブラリです。
ローカルにインストールされている Gem パッケージとそのドキュメントを HTTP サーバに
載せて公開するためのライブラリです。
Usage: gem server [options]
Options:
-p, --port=PORT port to listen on
-d, --dir=GEMDIR directory from which to serve gems
--[no-]daemon run as a daemon
... -
WEBrick
:: HTTPProxyServer (18019.0) -
プロクシの機能を提供するクラスです。CONNECT メソッドにも対応しています。
プロクシの機能を提供するクラスです。CONNECT メソッドにも対応しています。
* https://magazine.rubyist.net/articles/0002/0002-WEBrickProxy.html
以下は完全に動作するプロクシサーバの例です。
require 'webrick'
require 'webrick/httpproxy'
s = WEBrick::HTTPProxyServer.new(Port: 8080)
Signal.trap('INT') do
s.shutdown
end
s.start -
WEBrick
:: HTTPProxyServer . new(config , default = WEBrick :: Config :: HTTP) -> WEBrick :: HTTPProxyServer (9637.0) -
プロクシオブジェクトを生成して返します。
プロクシオブジェクトを生成して返します。
@param config 設定を保存したハッシュを指定します。
設定として有効なハッシュのキーとその値は WEBrick::HTTPServer.new と同じです。
それに加えて以下のキーが有効です。
: :ProxyAuthProc
プロクシ認証を行う Proc オブジェクトを指定します。この proc は
WEBrick::HTTPResponse オブジェクトと WEBrick::HTTPRequest オブジェクトを引数として
proc.call(req, res) ... -
WEBrick
:: HTTPServer . new(config = {} , default = WEBrick :: Config :: HTTP) -> WEBrick :: HTTPServer (9619.0) -
HTTPServer オブジェクトを生成して返します。
HTTPServer オブジェクトを生成して返します。
@param config 設定を保存したハッシュを指定します。有効なキー(Symbol オブジェクト)と値は以下のとおりです。
: :RequestTimeout
どれだけの時間 クライアントからの入力を待つかを整数か Float で指定します。
単位は秒です。
: :HTTPVersion
使用する HTTP のバージョンです。WEBrick::HTTPVersion オブジェクトで指定します。デフォルトは 1.1 です。
: :AccessLog
アクセスログの出力先とフォーマットを [[io, format],... -
DRb
:: DRbServer . new(uri=nil , front=nil , config _ or _ acl=nil) -> DRb :: DRbServer (9601.0) -
dRuby サーバを起動し、DRbServerのインスタンスを返します。
dRuby サーバを起動し、DRbServerのインスタンスを返します。
uri に URI を文字列で指定すると、それに起動したサービスを bind します。
通常は 'druby://<hostname>:<port>' という形式の URI を指定します。
このときは TCP が通信手段として使われます。
'drbunix:' のような他のプロトコルを指定することもできます。
front でフロントオブジェクト(URI に結び付けられるオブジェクト)を
設定します。
config で Hash で設定を渡します。以下の項目が利用できます。
: :idconv
dRuby内... -
Etc
:: SC _ SPORADIC _ SERVER -> Integer (9601.0) -
Etc.#sysconf の引数に指定します。
Etc.#sysconf の引数に指定します。
詳細は sysconf(3) を参照してください。 -
Etc
:: SC _ THREAD _ SPORADIC _ SERVER -> Integer (9601.0) -
Etc.#sysconf の引数に指定します。
Etc.#sysconf の引数に指定します。
詳細は sysconf(3) を参照してください。 -
Gem
:: Server . new(gem _ dirs , port , daemon , addresses = nil) -> Gem :: Server (9601.0) -
サーバーを初期化します。
サーバーを初期化します。
@param gem_dirs Gem を格納しているディレクトリを指定します。
@param gem_dir Gem を格納しているディレクトリを指定します。
@param port リッスンするポートを指定します。
@param daemon 真を指定するとデーモンとして起動します。
@param addresses -
Gem
:: Server . run(options) -> Gem :: Server (9601.0) -
与えられたオプションを使用してサーバを起動します。
与えられたオプションを使用してサーバを起動します。
@param options オプションを表すハッシュを指定します。含まれるキーは :gemdir, :port, :daemon です。
@see Gem::Server.new -
OpenSSL
:: SSL :: SSLServer # to _ io -> TCPServer (9601.0) -
ラップしている TCPServer オブジェクトを返します。
ラップしている TCPServer オブジェクトを返します。 -
OpenSSL
:: SSL :: SSLServer . new(svr , ctx) -> OpenSSL :: SSL :: SSLServer (9601.0) -
TCPServer オブジェクトをラップする SSLServer オブジェクトを生成します。
TCPServer オブジェクトをラップする SSLServer オブジェクトを生成します。
svr にはラップするTCPServer オブジェクトを、
ctx には SSL サーバが用いる OpenSSL::SSL::SSLContext
オブジェクトを生成します。
OpenSSL::SSL::SSLServer#listen や OpenSSL::SSL::SSLServer#accept
は内部で svr で渡されたオブジェクトの
TCPServer#listen や TCPServer#accept を呼び出します。
@param svr 利用する TCPServer オブジェ... -
TCPServer
. new(host=nil , service) -> TCPServer (9601.0) -
新しいサーバー接続をオープンします。service は /etc/services (または NIS) に登録されているサービ ス名かポート番号で指定します。host を指定した時は 指定したホストに対しての接続だけを受け付けます。
新しいサーバー接続をオープンします。service は
/etc/services (または NIS) に登録されているサービ
ス名かポート番号で指定します。host を指定した時は
指定したホストに対しての接続だけを受け付けます。
省略時は全てのホストへの接続要求を受け付けることになります。
new, open は内部では getaddrinfo(3) を呼び出しており、
複数のアドレス構造体が検出された場合、
最初に見つかったものを返します。
実行環境によっては IPv4, IPv6 のどちらか専用の接続になる場合がありますが、
その場合、host を省略せず明示的に指定することで、接... -
TCPServer
. open(host=nil , service) -> TCPServer (9601.0) -
新しいサーバー接続をオープンします。service は /etc/services (または NIS) に登録されているサービ ス名かポート番号で指定します。host を指定した時は 指定したホストに対しての接続だけを受け付けます。
新しいサーバー接続をオープンします。service は
/etc/services (または NIS) に登録されているサービ
ス名かポート番号で指定します。host を指定した時は
指定したホストに対しての接続だけを受け付けます。
省略時は全てのホストへの接続要求を受け付けることになります。
new, open は内部では getaddrinfo(3) を呼び出しており、
複数のアドレス構造体が検出された場合、
最初に見つかったものを返します。
実行環境によっては IPv4, IPv6 のどちらか専用の接続になる場合がありますが、
その場合、host を省略せず明示的に指定することで、接... -
UNIXServer
. new(path) -> UNIXServer (9601.0) -
path で指定したパス名を用いて接続を受け付けるソケット を作成します。
path で指定したパス名を用いて接続を受け付けるソケット
を作成します。
ブロックを省略すると作成したサーバソケットを返します。
ブロックを渡した場合は、作成したソケットを引数としてそのブロックを呼びだし、
ブロック終了時にソケットを閉じます。この場合には
ブロックの評価値を返り値として返します。
@param path 接続を受け付けるパス名文字列
require 'socket'
serv = UNIXServer.new("/tmp/sock")
s = serv.accept
p s.read -
UNIXServer
. open(path) -> UNIXServer (9601.0) -
path で指定したパス名を用いて接続を受け付けるソケット を作成します。
path で指定したパス名を用いて接続を受け付けるソケット
を作成します。
ブロックを省略すると作成したサーバソケットを返します。
ブロックを渡した場合は、作成したソケットを引数としてそのブロックを呼びだし、
ブロック終了時にソケットを閉じます。この場合には
ブロックの評価値を返り値として返します。
@param path 接続を受け付けるパス名文字列
require 'socket'
serv = UNIXServer.new("/tmp/sock")
s = serv.accept
p s.read -
WEBrick
:: GenericServer # listen(address , port) -> [TCPServer] (9601.0) -
与えられたアドレスとポートで TCPServer オブジェクトを生成し listener として管理します。
与えられたアドレスとポートで TCPServer オブジェクトを生成し
listener として管理します。
@param address アドレスを文字列で指定します。
@param port listen するポートを整数で指定します。
@see WEBrick::GenericServer#listeners, TCPServer#listen -
WEBrick
:: GenericServer # listeners -> [TCPServer] (9601.0) -
listen している TCPServer オブジェクトの配列を返します。
listen している TCPServer オブジェクトの配列を返します。 -
WEBrick
:: GenericServer . new(config = {} , default = WEBrick :: Config :: General) -> WEBrick :: GenericServer (9601.0) -
GenericServer オブジェクトを生成して返します。
GenericServer オブジェクトを生成して返します。
config で有効な項目が増えます。以下は増える項目とそのデフォルト値です。
:ServerSoftware => "#{svrsoft} OpenSSL/#{osslv}",
:SSLEnable => true, # Ruby 1.8.3 以降では false がデフォルトです。
:SSLCertificate => nil,
:SSLPrivateKey => nil,
:SSLClientCA => nil,
:SS... -
WEBrick
:: HTTPServer # virtual _ host(server) -> () (9601.0) -
サーバの保持しているバーチャルホストのリストに HTTP サーバ server を加えます。 クライアントからのリクエストのうち server へのものは server に委譲されるようになります。
サーバの保持しているバーチャルホストのリストに HTTP サーバ server を加えます。
クライアントからのリクエストのうち server へのものは server に委譲されるようになります。
@param server バーチャルホストを表す WEBrick::HTTPServer オブジェクトを指定します。
require 'webrick'
include WEBrick
srv1 = HTTPServer.new( { :Port => 1080, :ServerName => 'hoge.example.com' } )
srv2 = HTTPServe... -
WEBrick
:: HTTPServer :: MountTable . new -> WEBrick :: HTTPServer :: MountTable (9601.0) -
自身を初期化します。
自身を初期化します。 -
WEBrick
:: GenericServer # tokens -> Thread :: SizedQueue (9319.0) -
MaxClient の設定のために使われる Thread::SizedQueue オブジェクト を返します。Thread::SizedQueue オブジェクトのサイズは現在受け付け ることのできるクライアントの数です。
MaxClient の設定のために使われる Thread::SizedQueue オブジェクト
を返します。Thread::SizedQueue オブジェクトのサイズは現在受け付け
ることのできるクライアントの数です。
MaxClient を知りたい場合は self.tokens.max です。
self.tokens.max - self.tokens.length が現在のクライアントの接続数です。 -
DRb
:: DRbServer # alive? -> bool (9301.0) -
サーバが生存しているならば真を返します。
サーバが生存しているならば真を返します。
@see DRb::DRbServer#stop_service -
DRb
:: DRbServer # config -> Hash (9301.0) -
サーバの設定を返します。
サーバの設定を返します。
@see DRb::DRbServer.new, DRb.#start_service -
DRb
:: DRbServer # front -> object (9301.0) -
サーバに設定されたフロントオブジェクトを返します。
サーバに設定されたフロントオブジェクトを返します。
@see DRb::DRbServer.new, DRb.#start_service -
DRb
:: DRbServer # here?(uri) -> bool (9301.0) -
uri がサーバに紐付けられたものであれば真を返します。
uri がサーバに紐付けられたものであれば真を返します。
@param uri URI 文字列 -
DRb
:: DRbServer # safe _ level -> Integer (9301.0) -
サーバのセーフレベルを返します。
サーバのセーフレベルを返します。 -
DRb
:: DRbServer # stop _ service -> () (9301.0) -
サーバを停止します。
サーバを停止します。
@see DRb::DRbServer#alive? -
DRb
:: DRbServer # thread -> Thread (9301.0) -
サーバのメインスレッドを返します。
サーバのメインスレッドを返します。
このスレッドはクライアントからの接続を受け付けるスレッドであって、
クライアントへの応答をするスレッドではありません。 -
DRb
:: DRbServer # uri -> String|nil (9301.0) -
サーバに紐付けられた URI を返します。
サーバに紐付けられた URI を返します。 -
DRb
:: DRbServer # verbose -> bool (9301.0) -
サーバが verbose mode ならば真を返します。
サーバが verbose mode ならば真を返します。
@see DRb::DRbObject#verbose= -
DRb
:: DRbServer . default _ acl(acl) -> () (9301.0) -
サーバ起動時の :acl オプションのデフォルト値を指定します。
サーバ起動時の :acl オプションのデフォルト値を指定します。
初期値は nil です。
@see DRb::DRbServer.new, DRb.#start_service, ACL -
DRb
:: DRbServer . default _ argc _ limit(argc) -> () (9301.0) -
サーバ起動時の :argc_limit オプションのデフォルト値を指定します。
サーバ起動時の :argc_limit オプションのデフォルト値を指定します。
初期値は 256 です。
@see DRb::DRbServer.new, DRb.#start_service -
DRb
:: DRbServer . default _ id _ conv(idconv) -> () (9301.0) -
サーバ起動時の :id_conv オプションのデフォルト値を指定します。
サーバ起動時の :id_conv オプションのデフォルト値を指定します。
初期値は DRb::DRbIdConv のインスタンスです。
@see DRb::DRbServer.new, DRb.#start_service -
DRb
:: DRbServer . default _ load _ limit(sz) -> () (9301.0) -
サーバ起動時の :load_limit オプションのデフォルト値を指定します。
サーバ起動時の :load_limit オプションのデフォルト値を指定します。
初期値は25MBです。
@see DRb::DRbServer.new, DRb.#start_service -
DRb
:: DRbServer . default _ safe _ level(level) -> () (9301.0) -
サーバ起動時の :safe_level オプションのデフォルト値を指定します。
サーバ起動時の :safe_level オプションのデフォルト値を指定します。
初期値は0です。
@see DRb::DRbServer.new, DRb.#start_service -
DRb
:: DRbServer . verbose -> bool (9301.0) -
サーバ起動時の :verbose オプションのデフォルト値を返します。
サーバ起動時の :verbose オプションのデフォルト値を返します。
@see DRb::DRbServer.new, DRb.#start_service,
DRb::DRbServer.verbose= -
DRb
:: DRbServer :: INSECURE _ METHOD -> [Symbol] (9301.0) -
セキュアでないメソッドのリスト。
セキュアでないメソッドのリスト。
これに含まれるメソッドは dRuby 経由では呼び出せません。 -
Gem
:: Server # Marshal(request , response) -> () (9301.0) -
メソッド名に対応する URI に対するリクエストを処理するメソッドです。
メソッド名に対応する URI に対するリクエストを処理するメソッドです。
@param request WEBrick::HTTPRequest オブジェクトが自動的に指定されます。
@param response WEBrick::HTTPResponse オブジェクトが自動的に指定されます。 -
Gem
:: Server # latest _ specs(request , response) -> () (9301.0) -
メソッド名に対応する URI に対するリクエストを処理するメソッドです。
メソッド名に対応する URI に対するリクエストを処理するメソッドです。
@param request WEBrick::HTTPRequest オブジェクトが自動的に指定されます。
@param response WEBrick::HTTPResponse オブジェクトが自動的に指定されます。 -
Gem
:: Server # quick(request , response) -> () (9301.0) -
メソッド名に対応する URI に対するリクエストを処理するメソッドです。
メソッド名に対応する URI に対するリクエストを処理するメソッドです。
@param request WEBrick::HTTPRequest オブジェクトが自動的に指定されます。
@param response WEBrick::HTTPResponse オブジェクトが自動的に指定されます。 -
Gem
:: Server # root(request , response) -> () (9301.0) -
メソッド名に対応する URI に対するリクエストを処理するメソッドです。
メソッド名に対応する URI に対するリクエストを処理するメソッドです。
@param request WEBrick::HTTPRequest オブジェクトが自動的に指定されます。
@param response WEBrick::HTTPResponse オブジェクトが自動的に指定されます。 -
Gem
:: Server # run -> () (9301.0) -
サーバを実行します。
サーバを実行します。 -
Gem
:: Server # specs(request , response) -> () (9301.0) -
メソッド名に対応する URI に対するリクエストを処理するメソッドです。
メソッド名に対応する URI に対するリクエストを処理するメソッドです。
@param request WEBrick::HTTPRequest オブジェクトが自動的に指定されます。
@param response WEBrick::HTTPResponse オブジェクトが自動的に指定されます。 -
Gem
:: Server # yaml(request , response) -> () (9301.0) -
メソッド名に対応する URI に対するリクエストを処理するメソッドです。
メソッド名に対応する URI に対するリクエストを処理するメソッドです。
@param request WEBrick::HTTPRequest オブジェクトが自動的に指定されます。
@param response WEBrick::HTTPResponse オブジェクトが自動的に指定されます。 -
Gem
:: Server :: DOC _ TEMPLATE -> String (9301.0) -
ドキュメントのテンプレートを表す文字列です。
ドキュメントのテンプレートを表す文字列です。 -
Gem
:: Server :: RDOC _ CSS -> String (9301.0) -
RDoc のための CSS を表す文字列です。
RDoc のための CSS を表す文字列です。 -
OpenSSL
:: SSL :: SSLServer # accept -> OpenSSL :: SSL :: SSLSocket (9301.0) -
クライアントからの接続を受け付け、接続した SSLSocket オブジェクトを返します。
クライアントからの接続を受け付け、接続した
SSLSocket オブジェクトを返します。
OpenSSL::SSL::SSLServer#start_immediately が真ならば、
SSLSocket#accept を呼び TLS/SSL ハンドシェイクを実行してから
SSLSocket オブジェクトを返します。 -
OpenSSL
:: SSL :: SSLServer # close -> nil (9301.0) -
内部のサーバソケットを閉じます。
内部のサーバソケットを閉じます。 -
OpenSSL
:: SSL :: SSLServer # listen(backlog=5) -> 0 (9301.0) -
ラップしている TCPServer の TCPServer#listen を呼びだします。
ラップしている TCPServer の TCPServer#listen
を呼びだします。
通常は TCPServer の初期化時に listen が呼びだされるため
呼ぶ必要はないはずです。
@param backlog クライアントからの接続要求を保留できる数
@raise Errno::EXXX listen(2) が失敗すれば 例外 Errno::EXXX が発生します。 -
OpenSSL
:: SSL :: SSLServer # shutdown(how=Socket :: SHUT _ RDWR) -> 0 (9301.0) -
ソケットの以降の接続を終了させます。
ソケットの以降の接続を終了させます。
詳しくは BasicSocket#shutdown を参照してください。
@param how 接続の終了の仕方を Socket::SHUT_RD, Socket::SHUT_WR,
Socket::SHUT_RDWR などで指定します。 -
OpenSSL
:: SSL :: SSLServer # start _ immediately -> bool (9301.0) -
OpenSSL::SSL::SSLServer#accept で accept したらすぐに TLS/SSL ハンドシェイクを実行するかどうかを返します。
OpenSSL::SSL::SSLServer#accept で
accept したらすぐに TLS/SSL ハンドシェイクを実行するかどうかを返します。
@see OpenSSL::SSL::SSLServer#start_immediately= -
TCPServer
# accept -> TCPSocket (9301.0) -
クライアントからの接続要求を受け付け、接続した TCPSocket のインスタンスを返します。
クライアントからの接続要求を受け付け、接続した
TCPSocket のインスタンスを返します。
例:
require 'socket'
TCPServer.open("", 0) {|serv|
c = TCPSocket.new(*serv.addr.values_at(3,1))
s = serv.accept
c.write "foo"
p s.recv(10) #=> "foo"
} -
TCPServer
# accept _ nonblock -> TCPSocket (9301.0) -
ソケットをノンブロッキングモードに設定した後、 accept(2) を呼び出します。
ソケットをノンブロッキングモードに設定した後、
accept(2) を呼び出します。
返り値は TCPServer#accept と同じです。
accept(2) がエラーになった場合、
EAGAIN, EINTR を含め例外 Errno::EXXX が発生します。
@raise Errno::EXXX accept(2) がエラーになった場合に発生します。 -
TCPServer
# listen(backlog) -> 0 (9301.0) -
listen(2) を実行します。 (Socket#listenと同じ)
listen(2) を実行します。
(Socket#listenと同じ)
backlog は、クライアントからの接続要求を保留できる数です。
listen(2) が成功すれば 0 を返します。
失敗すれば 例外 Errno::EXXX が発生します。
@param backlog backlog は、クライアントからの接続要求を保留できる数です。
@raise Errno::EXXX listen(2) が失敗すれば 例外 Errno::EXXX が発生します。
@return listen(2) が成功すれば 0 を返します。 -
TCPServer
# sysaccept -> Integer (9301.0) -
接続したクライアントのソケットをファイル記述子で返すことを除けば TCPServer#accept と同じです。
接続したクライアントのソケットをファイル記述子で返すことを除けば
TCPServer#accept と同じです。
例:
require 'socket'
TCPServer.open("", 0) {|serv|
c = TCPSocket.new(*serv.addr.values_at(3,1))
p serv.sysaccept #=> 6
} -
UNIXServer
# accept -> UnixSocket (9301.0) -
クライアントからの接続要求を accept(2)で待ち受け、接続した UNIXSocket のインスタンスを返します。
クライアントからの接続要求を accept(2)で待ち受け、接続した
UNIXSocket のインスタンスを返します。
例:
require 'socket'
UNIXServer.open("/tmp/s") {|serv|
c = UNIXSocket.open("/tmp/s")
s = serv.accept
s.write "from server"
c.write "from client"
p c.recv(20) #=> "from server"
p s.recv(20) #=> "from clie... -
UNIXServer
# accept _ nonblock -> UnixSocket (9301.0) -
ソケットをノンブロッキングモードに設定した後、 accept(2) を呼び出します。
ソケットをノンブロッキングモードに設定した後、
accept(2) を呼び出します。
接続した
UNIXSocket のインスタンスを返します。
accept(2) がエラーになった場合、Socket#accept と同じ例外が
発生します。
Errno::EWOULDBLOCK, Errno::EAGAIN,
Errno::ECONNABORTED, Errno::EPROTO のいずれかの例外が
発生した場合は、その例外には IO::WaitReadable が extend
されます。それを利用してリトライ可能な例外を掴まえることができます。
require 'socket...