種類
- インスタンスメソッド (13)
- 文書 (5)
- クラス (3)
- 特異メソッド (3)
- モジュール関数 (1)
ライブラリ
- openssl (4)
- socket (13)
-
webrick
/ server (2) -
webrick
/ utils (1)
クラス
- BasicSocket (4)
- IPSocket (1)
-
OpenSSL
:: SSL :: SSLServer (3) - TCPServer (6)
-
WEBrick
:: GenericServer (2)
モジュール
-
WEBrick
:: Utils (1)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (1) -
NEWS for Ruby 2
. 3 . 0 (1) - SSLServer (1)
- Socket (1)
- accept (1)
-
accept
_ nonblock (1) - addr (1)
-
create
_ listeners (1) - getpeername (1)
- getsockname (1)
- listen (3)
- listeners (1)
-
local
_ address (1) - new (2)
- open (1)
-
remote
_ address (1) -
ruby 1
. 8 . 4 feature (1) -
ruby 1
. 8 . 5 feature (1) -
ruby 1
. 9 feature (1) - sysaccept (1)
-
to
_ io (1)
検索結果
先頭5件
-
TCPServer (114037.0)
-
TCP/IP ストリーム型接続のサーバ側のソケットのクラスです。
TCP/IP ストリーム型接続のサーバ側のソケットのクラスです。
このクラスによって簡単にソケットを利用したサーバのプログラミングができます。
例えば echo サーバは以下のようになります。
require "socket"
gs = TCPServer.open(0)
socks = [gs]
addr = gs.addr
addr.shift
printf("server is on %s\n", addr.join(":"))
while true
nsock = select(socks)
next if nsock ==... -
TCPServer
. new(host=nil , service) -> TCPServer (63307.0) -
新しいサーバー接続をオープンします。service は /etc/services (または NIS) に登録されているサービ ス名かポート番号で指定します。host を指定した時は 指定したホストに対しての接続だけを受け付けます。
新しいサーバー接続をオープンします。service は
/etc/services (または NIS) に登録されているサービ
ス名かポート番号で指定します。host を指定した時は
指定したホストに対しての接続だけを受け付けます。
省略時は全てのホストへの接続要求を受け付けることになります。
new, open は内部では getaddrinfo(3) を呼び出しており、
複数のアドレス構造体が検出された場合、
最初に見つかったものを返します。
実行環境によっては IPv4, IPv6 のどちらか専用の接続になる場合がありますが、
その場合、host を省略せず明示的に指定することで、接... -
TCPServer
. open(host=nil , service) -> TCPServer (63307.0) -
新しいサーバー接続をオープンします。service は /etc/services (または NIS) に登録されているサービ ス名かポート番号で指定します。host を指定した時は 指定したホストに対しての接続だけを受け付けます。
新しいサーバー接続をオープンします。service は
/etc/services (または NIS) に登録されているサービ
ス名かポート番号で指定します。host を指定した時は
指定したホストに対しての接続だけを受け付けます。
省略時は全てのホストへの接続要求を受け付けることになります。
new, open は内部では getaddrinfo(3) を呼び出しており、
複数のアドレス構造体が検出された場合、
最初に見つかったものを返します。
実行環境によっては IPv4, IPv6 のどちらか専用の接続になる場合がありますが、
その場合、host を省略せず明示的に指定することで、接... -
TCPServer
# sysaccept -> Integer (63067.0) -
接続したクライアントのソケットをファイル記述子で返すことを除けば TCPServer#accept と同じです。
接続したクライアントのソケットをファイル記述子で返すことを除けば
TCPServer#accept と同じです。
例:
require 'socket'
TCPServer.open("", 0) {|serv|
c = TCPSocket.new(*serv.addr.values_at(3,1))
p serv.sysaccept #=> 6
} -
TCPServer
# accept -> TCPSocket (63019.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 (63019.0) -
ソケットをノンブロッキングモードに設定した後、 accept(2) を呼び出します。
ソケットをノンブロッキングモードに設定した後、
accept(2) を呼び出します。
返り値は TCPServer#accept と同じです。
accept(2) がエラーになった場合、
EAGAIN, EINTR を含め例外 Errno::EXXX が発生します。
@raise Errno::EXXX accept(2) がエラーになった場合に発生します。 -
TCPServer
# listen(backlog) -> 0 (63001.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 を返します。 -
WEBrick
:: GenericServer # listen(address , port) -> [TCPServer] (370.0) -
与えられたアドレスとポートで TCPServer オブジェクトを生成し listener として管理します。
与えられたアドレスとポートで TCPServer オブジェクトを生成し
listener として管理します。
@param address アドレスを文字列で指定します。
@param port listen するポートを整数で指定します。
@see WEBrick::GenericServer#listeners, TCPServer#listen -
WEBrick
:: Utils . # create _ listeners(address , port , logger = nil) -> [TCPServer] (370.0) -
与えられたアドレスとポートで TCPServer オブジェクトを生成し ます。
与えられたアドレスとポートで TCPServer オブジェクトを生成し
ます。
@param address アドレスを指定します。
@param port ポート番号を指定します。
@param logger ロガーオブジェクトを指定します。
@raise ArgumentError port を指定しなかった場合に発生します。
@see Socket.getaddrinfo, TCPServer -
OpenSSL
:: SSL :: SSLServer # to _ io -> TCPServer (352.0) -
ラップしている TCPServer オブジェクトを返します。
ラップしている TCPServer オブジェクトを返します。 -
WEBrick
:: GenericServer # listeners -> [TCPServer] (352.0) -
listen している TCPServer オブジェクトの配列を返します。
listen している TCPServer オブジェクトの配列を返します。 -
OpenSSL
:: SSL :: SSLServer . new(svr , ctx) -> OpenSSL :: SSL :: SSLServer (121.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 オブジェ... -
OpenSSL
:: SSL :: SSLServer # listen(backlog=5) -> 0 (115.0) -
ラップしている TCPServer の TCPServer#listen を呼びだします。
ラップしている TCPServer の TCPServer#listen
を呼びだします。
通常は TCPServer の初期化時に listen が呼びだされるため
呼ぶ必要はないはずです。
@param backlog クライアントからの接続要求を保留できる数
@raise Errno::EXXX listen(2) が失敗すれば 例外 Errno::EXXX が発生します。 -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (73.0) -
1.6.8から1.8.0への変更点(まとめ) * ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/文法の変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/正規表現>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Marshal>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Windows 対応>)) * ((<1.6.8から1.8.0への変更点(まとめ)/廃止された(される予定の)機能>)) * ((<1.6.8から1.8.0への変更点(まとめ)/ライブラリ>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張ライブラリAPI>)) * ((<1.6.8から1.8.0への変更点(まとめ)/バグ修正>)) * ((<1.6.8から1.8.0への変更点(まとめ)/サポートプラットフォームの追加>))
1.6.8から1.8.0への変更点(まとめ)
* ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>))
* ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>))
* ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>))... -
OpenSSL
:: SSL :: SSLServer (73.0) -
SSL サーバーのためのクラス。
SSL サーバーのためのクラス。
TCPServer をラップするクラスで、TCPServer で接続した
ソケットを OpenSSL::SSL::SSLSocket でラップする機能を持ちます。
おおよそ TCPServer と同様のメソッドを持ちます。
基本的には SSL サーバを簡単に実装するためのクラスであり、
これを利用せずとも SSL サーバを実装することは可能です。
以下はクライアントからの入力を標準出力に出力するだけのサーバです。
require 'socket'
require 'openssl'
include OpenSSL
ctx =... -
ruby 1
. 8 . 4 feature (37.0) -
ruby 1.8.4 feature ruby 1.8.4 での ruby 1.8.3 からの変更点です。
ruby 1.8.4 feature
ruby 1.8.4 での ruby 1.8.3 からの変更点です。
掲載方針
*バグ修正の影響も含めて動作が変わるものを収録する。
*単にバグを直しただけのものは収録しない。
*ライブラリへの単なる定数の追加は収録しない。
以下は各変更点に付けるべきタグです。
記号について(特に重要なものは大文字(主観))
# * カテゴリ
# * [ruby]: ruby インタプリタの変更
# * [api]: 拡張ライブラリ API
# * [lib]: ライブラリ
* レベル
* [bug]: バグ修正
* [new]: 追加され... -
BasicSocket
# getpeername -> String (19.0) -
接続の相手先のソケットの情報を取得します。sockaddr 構造体をパッ クした文字列を返します。getpeername(2) を参照してください。
接続の相手先のソケットの情報を取得します。sockaddr 構造体をパッ
クした文字列を返します。getpeername(2) を参照してください。
例:
require 'socket'
serv = TCPServer.open("", 0)
c = TCPSocket.open(*Socket.unpack_sockaddr_in(serv.getsockname).reverse)
s = serv.accept
addr = c.getpeername
p addr #=> "\002\000\267\214\177\000\000\001\... -
BasicSocket
# getsockname -> String (19.0) -
ソケットの情報を取得します。sockaddr 構造体をパックした 文字列を返します。getsockname(2) を参照してください。
ソケットの情報を取得します。sockaddr 構造体をパックした
文字列を返します。getsockname(2) を参照してください。
例:
require 'socket'
serv = TCPServer.open("", 0)
p serv.getsockname #=> "\002\000\236C\000\000\000\000\000\000\000\000\000\000\000\000"
p Socket.unpack_sockaddr_in(serv.getsockname) #=> [40515, "0.0.0.0"]
c ... -
BasicSocket
# local _ address -> Addrinfo (19.0) -
getsockname(2) で得られたローカルアドレス情報を Addrinfo オブジェクトとして返します。
getsockname(2) で得られたローカルアドレス情報を
Addrinfo オブジェクトとして返します。
返されたオブジェクトの Addrinfo#protocol は 0 を
返すことに注意してください。
require 'socket'
TCPSocket.open("www.ruby-lang.org", 80) {|s|
p s.local_address #=> #<Addrinfo: 192.168.0.129:36873 TCP>
}
TCPServer.open("127.0.0.1", 1512) {|serv|
p serv... -
BasicSocket
# remote _ address -> Addrinfo (19.0) -
getpeername(2) で得られたリモートアドレス情報を Addrinfo オブジェクトとして返します。
getpeername(2) で得られたリモートアドレス情報を
Addrinfo オブジェクトとして返します。
返されたオブジェクトの Addrinfo#protocol は 0 を
返すことに注意してください。
require 'socket'
TCPSocket.open("www.ruby-lang.org", 80) {|s|
p s.remote_address #=> #<Addrinfo: 221.186.184.68:80 TCP>
}
TCPServer.open("127.0.0.1", 1728) {|serv|
c = TCP... -
IPSocket
# addr -> Array (19.0) -
ソケットの接続情報を表す配列を返します。配列の各要素は第1要 素が文字列 "AF_INET", "AF_INET6" など、第2要素が port 番号、第3要素がホストを表 す文字列、第4要素がホストの IP アドレスを表す文字列 (octet decimal や hexadecimal) です。
ソケットの接続情報を表す配列を返します。配列の各要素は第1要
素が文字列 "AF_INET", "AF_INET6" など、第2要素が port 番号、第3要素がホストを表
す文字列、第4要素がホストの IP アドレスを表す文字列 (octet
decimal や hexadecimal) です。
@raise Errno::EXXX getsockname(2) が 0 未満の値を返した場合に発生します。
例:
require 'socket'
serv = TCPServer.new("localhost", 0)
p serv.addr #=> ["... -
NEWS for Ruby 2
. 3 . 0 (19.0) -
NEWS for Ruby 2.3.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
NEWS for Ruby 2.3.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。
== 2.2.0 以降の変更
=== 言語仕様の変更
* frozen-string-literal プラグマ:
* 実験的な機能として fronzen-string-literal というプラグマが導入されました。
897... -
Socket (19.0)
-
汎用ソケットクラス。
汎用ソケットクラス。
システムコールレベルから高水準の機能までを提供します。
ソケットオブジェクトを生成する汎用的な方法として
Socket.new がありますが、以下のようなより便利な
メソッドがあります。
* TCP のクライアントソケット Socket.tcp TCPSocket.open
* TCP のサーバソケット Socket.tcp_server_loop,
Socket.tcp_server_sockets, TCPServer.open
* UNIX socket のクライアントソケット Socket.unix UNIXSocket.open
* ... -
ruby 1
. 8 . 5 feature (19.0) -
ruby 1.8.5 feature ruby 1.8.4 から ruby 1.8.5 までの変更点です。
ruby 1.8.5 feature
ruby 1.8.4 から ruby 1.8.5 までの変更点です。
掲載方針
*バグ修正の影響も含めて動作が変わるものを収録する。
*単にバグを直しただけのものは収録しない。
*ライブラリへの単なる定数の追加は収録しない。
以下は各変更点に付けるべきタグです。
記号について(特に重要なものは大文字(主観))
* カテゴリ
* [ruby]: ruby インタプリタの変更
* [api]: 拡張ライブラリ API
* [lib]: ライブラリ
* レベル
* [bug]: バグ修正
* [new]: 追加されたクラス/メソッ... -
ruby 1
. 9 feature (19.0) -
ruby 1.9 feature ruby version 1.9.0 は開発版です。 以下にあげる機能は将来削除されたり互換性のない仕様変更がなされるかもしれません。 1.9.1 以降は安定版です。 バグ修正がメインになります。
ruby 1.9 feature
ruby version 1.9.0 は開発版です。
以下にあげる機能は将来削除されたり互換性のない仕様変更がなされるかもしれません。
1.9.1 以降は安定版です。
バグ修正がメインになります。
記号について(特に重要なものは大文字(主観))
* カテゴリ
* [ruby]: ruby インタプリタの変更
* [api]: 拡張ライブラリ API
* [lib]: ライブラリ
* [parser]: 文法の変更
* [regexp]: 正規表現の機能拡張
* [marshal]: Marshal ファイルのフォーマット変更
* ...