ライブラリ
- csv (1)
- logger (1)
-
net
/ http (2) - psych (12)
-
rexml
/ document (1) -
rexml
/ parsers / pullparser (1) -
rexml
/ parsers / streamparser (1) -
rexml
/ parsers / ultralightparser (2) -
rexml
/ streamlistener (2) -
rubygems
/ package / tar _ writer (2) -
rubygems
/ user _ interaction (4) - socket (11)
- zlib (1)
クラス
- Addrinfo (2)
- CSV (1)
-
Gem
:: Package :: TarWriter :: BoundedStream (1) -
Gem
:: Package :: TarWriter :: RestrictedStream (1) -
Gem
:: StreamUI (1) -
Gem
:: StreamUI :: SilentProgressReporter (1) -
Gem
:: StreamUI :: SimpleProgressReporter (1) -
Gem
:: StreamUI :: VerboseProgressReporter (1) - Logger (1)
-
Net
:: HTTPGenericRequest (2) -
Psych
:: Nodes :: Stream (4) -
Psych
:: Stream (3) -
REXML
:: Document (1) -
REXML
:: Parsers :: PullParser (1) -
REXML
:: Parsers :: StreamParser (1) -
REXML
:: Parsers :: UltraLightParser (2) - Socket (9)
-
Zlib
:: ZStream (1)
モジュール
キーワード
- Emitter (1)
- Nodes (1)
- Stream (1)
- StreamListener (1)
- TreeBuilder (1)
- UTF16BE (1)
- UTF16LE (1)
- UTF8 (1)
- YAMLTree (1)
- accept (1)
-
body
_ stream (1) -
body
_ stream= (1) - close (1)
- connect (1)
-
connect
_ nonblock (1) - entitydecl (1)
- open (1)
-
parse
_ stream (1) - rewind (1)
-
rexml
/ parsers / streamparser (1) -
ruby 1
. 8 . 3 feature (1) -
ruby 1
. 9 feature (1) - start (2)
-
tcp
_ server _ loop (2) - unix (3)
- yaml (1)
検索結果
先頭5件
- Gem
:: StreamUI . new(in _ stream , out _ stream , err _ stream = STDERR) - Psych
:: Nodes :: Stream . new(encoding = Psych :: Nodes :: Stream :: UTF8) -> Psych :: Nodes :: Stream - Psych
:: Stream . new(io) -> Psych :: Stream - Gem
:: StreamUI :: SilentProgressReporter . new(out _ stream , size , initial _ message , terminal _ message = nil) - Gem
:: StreamUI :: SimpleProgressReporter . new(out _ stream , size , initial _ message , terminal _ message = nil)
-
Gem
:: StreamUI . new(in _ stream , out _ stream , err _ stream = STDERR) (64267.0) -
このクラスを初期化します。
このクラスを初期化します。
@param in_stream 入力元のストリームを指定します。
@param out_stream 出力先のストリームを指定します。
@param err_stream エラー出力を指定します。 -
Psych
:: Nodes :: Stream . new(encoding = Psych :: Nodes :: Stream :: UTF8) -> Psych :: Nodes :: Stream (63976.0) -
Psych::Nodes::Stream オブジェクトを生成して返します。
Psych::Nodes::Stream オブジェクトを生成して返します。
encoding には stream に使われるエンコーディングを指定します。
以下のいずれかを指定します。
* Psych::Nodes::Node::UTF8
* Psych::Nodes::Node::UTF16BE
* Psych::Nodes::Node::UTF16LE
@param encoding エンコーディング -
Psych
:: Stream . new(io) -> Psych :: Stream (63655.0) -
新たな Stream オブジェクトを生成します。
新たな Stream オブジェクトを生成します。
io で YAML document の出力先を指定します。
@param io 出力先の IO オブジェクト -
Gem
:: StreamUI :: SilentProgressReporter . new(out _ stream , size , initial _ message , terminal _ message = nil) (63625.0) -
何もしません。
何もしません。
@param out_stream 指定しても意味がありません。
@param size 指定しても意味がありません。
@param initial_message 指定しても意味がありません。
@param terminal_message 指定しても意味がありません。 -
Gem
:: StreamUI :: SimpleProgressReporter . new(out _ stream , size , initial _ message , terminal _ message = nil) (63625.0) -
このクラスを初期化します。
このクラスを初期化します。
@param out_stream 出力ストリームを指定します。
@param size 処理する全体の数です。
@param initial_message 初期化が終わったときに表示するメッセージを指定します。
@param terminal_message 終了時に表示するメッセージです。 -
Gem
:: StreamUI :: VerboseProgressReporter . new(out _ stream , size , initial _ message , terminal _ message = nil) (63625.0) -
このクラスを初期化します。
このクラスを初期化します。
@param out_stream 出力ストリームを指定します。
@param size 処理する全体の数を指定します。
@param initial_message 初期化がおわったときに表示するメッセージを指定します。
@param terminal_message 終了時に表示するメッセージです。 -
Gem
:: Package :: TarWriter :: BoundedStream . new(io , limit) -> Gem :: Package :: TarWriter :: BoundedStream (63604.0) -
自身を初期化します。
自身を初期化します。
@param io ラップする IO を指定します。
@param limit 書き込み可能な最大のサイズを指定します。 -
Gem
:: Package :: TarWriter :: RestrictedStream . new(io) -> Gem :: Package :: TarWriter :: RestrictedStream (63604.0) -
自身を初期化します。
自身を初期化します。
@param io ラップする IO を指定します。 -
REXML
:: Parsers :: StreamParser . new(source , listener) -> REXML :: Parsers :: StreamParser (63604.0) -
ストリームパーサオブジェクトを生成します。
ストリームパーサオブジェクトを生成します。
@param source 入力(文字列、IO、IO互換オブジェクト(StringIOなど))
@param listener コールバックオブジェクト -
Zlib
:: ZStream . new -> () (63436.0) -
直接使用しません。 通常、具体的な圧縮/展開を行う場合は、 Zlib::Deflate.new もしくは、Zlib::Inflate.new を使用します。
直接使用しません。
通常、具体的な圧縮/展開を行う場合は、
Zlib::Deflate.new もしくは、Zlib::Inflate.new を使用します。
@see Zlib::Deflate.new, Zlib::Inflate.new -
CSV
. new(data , options = Hash . new) -> CSV (54661.0) -
このメソッドは CSV ファイルを読み込んだり、書き出したりするために String か IO のインスタンスをラップします。
このメソッドは CSV ファイルを読み込んだり、書き出したりするために
String か IO のインスタンスをラップします。
ラップされた文字列の先頭から読み込むことになります。
文字列に追記したい場合は CSV.generate を使用してください。
他の位置から処理したい場合はあらかじめそのように設定した StringIO を渡してください。
@param data String か IO のインスタンスを指定します。
String のインスタンスを指定した場合、CSV#string を使用して
後からデータを取り出すことが出来ます。... -
REXML
:: Parsers :: UltraLightParser . new(stream) -> REXML :: Parsers :: UltraLightParser (54625.0) -
パーサオブジェクトを返します。
パーサオブジェクトを返します。
@param stream 入力(文字列、IO、IO互換オブジェクト(StringIOなど)) -
REXML
:: Parsers :: PullParser . new(stream) -> REXML :: Parsers :: PullParser (54607.0) -
新たな PullParser オブジェクトを生成して返します。
新たな PullParser オブジェクトを生成して返します。
@param source 入力(文字列、IO、IO互換オブジェクト(StringIOなど)) -
Socket
. new(domain , type , protocol=0) -> Socket (54388.0) -
新しいソケットを生成します。domain、type、 protocol はインクルードファイルにある定数で指定しま す。ほとんどの定数は Socket::AF_INET のように Socket クラスの定数として定義されています。domain とtype に関しては、"AF_INET", "SOCK_STREAM" のように文字列でも指定できますが、文 字列ですべての機能を指定できる保証はありません。
新しいソケットを生成します。domain、type、
protocol はインクルードファイルにある定数で指定しま
す。ほとんどの定数は Socket::AF_INET のように
Socket クラスの定数として定義されています。domain
とtype に関しては、"AF_INET",
"SOCK_STREAM" のように文字列でも指定できますが、文
字列ですべての機能を指定できる保証はありません。
例えば、IPv4 の TCP ソケットは以下のように生成されます。
require 'socket'
s = Socket.new(Socket::AF_INET, Socket... -
Addrinfo
. new(sockaddr , family=Socket :: PF _ UNSPEC , socktype=0 , protocol=0) -> Addrinfo (54358.0) -
新たな Addrinfo オブジェクトを返します。
新たな Addrinfo オブジェクトを返します。
sockaddr は connect(2) などで使われるパラメータで、
struct sockaddr に対応します。faimily, socktype, protocol
は socket(2) のパラメータに対応します。
sockaddr には文字列もしくは配列を指定します。
配列の場合は IPSocket#addr や UNIXSocket#addr の
値と互換でなければなりません。
文字列の場合は Socket.sockaddr_in や
Socket.unpack_sockaddr_un で得られるようなものでなければ
な... -
Net
:: HTTPGenericRequest # body _ stream -> object (18361.0) -
サーバに送るリクエストのエンティティボディを IO オブジェクトなどのストリームで設定します。 f は read(size) メソッドが定義されている必要があります。
サーバに送るリクエストのエンティティボディを
IO オブジェクトなどのストリームで設定します。
f は read(size) メソッドが定義されている必要があります。
@param f エンティティボディのデータを得るストリームオブジェクトを与えます。
//emlist[例][ruby]{
require 'net/http'
uri = URI.parse('http://www.example.com/index.html')
post = Net::HTTP::Post.new(uri.request_uri)
File.open("/path/to/test", 'rb') d... -
Net
:: HTTPGenericRequest # body _ stream=(f) (18361.0) -
サーバに送るリクエストのエンティティボディを IO オブジェクトなどのストリームで設定します。 f は read(size) メソッドが定義されている必要があります。
サーバに送るリクエストのエンティティボディを
IO オブジェクトなどのストリームで設定します。
f は read(size) メソッドが定義されている必要があります。
@param f エンティティボディのデータを得るストリームオブジェクトを与えます。
//emlist[例][ruby]{
require 'net/http'
uri = URI.parse('http://www.example.com/index.html')
post = Net::HTTP::Post.new(uri.request_uri)
File.open("/path/to/test", 'rb') d... -
REXML
:: Document . parse _ stream(source , listener) -> () (18322.0) -
XML文書を source から読み込み、パースした結果を listener にコールバックで伝えます。
XML文書を source から読み込み、パースした結果を
listener にコールバックで伝えます。
このメソッドは
Parsers::StreamParser.new( source, listener ).parse
と同じ挙動をします。
コールバックの詳しい仕組みなどについては REXML::Parsers::StreamParser
および REXML::StreamListener を参照してください。
@param source 入力(文字列、IO、IO互換オブジェクト(StringIOなど))
@param listener コールバックオブジェクト -
Psych
:: Stream (18199.0) -
入力されたオブジェクトから変換された YAML document を指定した IO に出力する機能を持つクラスです。
入力されたオブジェクトから変換された YAML document を指定した
IO に出力する機能を持つクラスです。
start で変換を開始し、push で変換する Ruby オブジェクトを渡し、
最後に finish を呼ぶことで変換を完了します。
stream = Psych::Stream.new($stdout)
stream.start
stream.push({:foo => 'bar'})
stream.finish
YAML document は(バッファリングされずに)直接 $stdout に出力されます。
finish を確実に呼び出すためには Ps... -
rexml
/ parsers / streamparser (18091.0) -
ストリーム式の XML パーサ。
ストリーム式の XML パーサ。
rexml の XML パーサの中では高速ですが、機能は限定的です。
もう少し高機能なストリーム式パーサが必要な場合は
REXML::Parsers::SAX2Parser を用いてください。
パーサからはコールバックによってパースした情報を受け取ります。
REXML::StreamListener を include し、
必要なメソッドをオーバーライドしたクラスのオブジェクトを
コールバックオブジェクトとして REXML::Parsers::StreamParser.new
に渡します。
REXML::Parsers::StreamParser#pa... -
REXML
:: StreamListener (18037.0) -
REXML::Parsers::StreamParser で使われるコールバックオブジェクトのためのモジュールです。
REXML::Parsers::StreamParser
で使われるコールバックオブジェクトのためのモジュールです。
このモジュールを include して、各メソッドを適切にオーバーライドした
クラスのインスタンスを
REXML::Parsers::StreamParser.new や
REXML::Document.parse_stream の引数として渡します。
このモジュールで定義されているメソッド自体は何もしません。
コールバックのデフォルト動作(何もしない)を定義しているだけです。
詳しい用例などについては c:REXML::Parsers::StreamParser#exa... -
ruby 1
. 9 feature (10459.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 ファイルのフォーマット変更
* ... -
ruby 1
. 8 . 3 feature (10135.0) -
ruby 1.8.3 feature *((<ruby 1.8 feature>)) *((<ruby 1.8.2 feature>))
ruby 1.8.3 feature
*((<ruby 1.8 feature>))
*((<ruby 1.8.2 feature>))
ruby 1.8.2 から ruby 1.8.3 までの変更点です。
掲載方針
*バグ修正の影響も含めて動作が変わるものを収録する。
*単にバグを直しただけのものは収録しない。
*ライブラリへの単なる定数の追加は収録しない。
以下は各変更点に付けるべきタグです。
記号について(特に重要なものは大文字(主観))
* カテゴリ
* [ruby]: ruby インタプリタの変更
* [api]: 拡張ライブラリ API
* [lib]: ... -
Psych
:: Stream # start(encoding = Psych :: Nodes :: Stream :: UTF8) -> Psych :: Stream (9667.0) -
Ruby オブジェクトを YAML document に変換するための準備をします。
Ruby オブジェクトを YAML document に変換するための準備をします。
変換された document は Psych::Stream.new で指定した
出力先に出力されます。
finish を呼び出すことで出力が完了します(finish を呼び出さないと
最後まで出力されない場合があります)。
ブロック付きで start を呼び出すと、変換準備を終えた Stream オブジェクト
(self) がブロックに渡され、ブロックが呼び出された後に finish を呼び出します。
これによって finish を確実に呼び出すことができます。
@param encoding 出... -
Psych
:: Stream # start(encoding = Psych :: Nodes :: Stream :: UTF8) {|em| . . . } -> Psych :: Stream (9667.0) -
Ruby オブジェクトを YAML document に変換するための準備をします。
Ruby オブジェクトを YAML document に変換するための準備をします。
変換された document は Psych::Stream.new で指定した
出力先に出力されます。
finish を呼び出すことで出力が完了します(finish を呼び出さないと
最後まで出力されない場合があります)。
ブロック付きで start を呼び出すと、変換準備を終えた Stream オブジェクト
(self) がブロックに渡され、ブロックが呼び出された後に finish を呼び出します。
これによって finish を確実に呼び出すことができます。
@param encoding 出... -
Socket
. open(domain , type , protocol=0) -> Socket (9088.0) -
新しいソケットを生成します。domain、type、 protocol はインクルードファイルにある定数で指定しま す。ほとんどの定数は Socket::AF_INET のように Socket クラスの定数として定義されています。domain とtype に関しては、"AF_INET", "SOCK_STREAM" のように文字列でも指定できますが、文 字列ですべての機能を指定できる保証はありません。
新しいソケットを生成します。domain、type、
protocol はインクルードファイルにある定数で指定しま
す。ほとんどの定数は Socket::AF_INET のように
Socket クラスの定数として定義されています。domain
とtype に関しては、"AF_INET",
"SOCK_STREAM" のように文字列でも指定できますが、文
字列ですべての機能を指定できる保証はありません。
例えば、IPv4 の TCP ソケットは以下のように生成されます。
require 'socket'
s = Socket.new(Socket::AF_INET, Socket... -
Psych
:: Nodes :: Stream :: UTF16BE -> Integer (9037.0) -
UTF16BE エンコーディングを表します。
UTF16BE エンコーディングを表します。
Psych::Parser::UTF16BE と同じ値です。
@see Psych::Nodes::Stream.new -
Psych
:: Nodes :: Stream :: UTF16LE -> Integer (9037.0) -
UTF16LE エンコーディングを表します。
UTF16LE エンコーディングを表します。
Psych::Parser::UTF16LE と同じ値です。
@see Psych::Nodes::Stream.new -
Psych
:: Nodes :: Stream :: UTF8 -> Integer (9037.0) -
UTF8 エンコーディングを表します。
UTF8 エンコーディングを表します。
Psych::Parser::UTF8 と同じ値です。
@see Psych::Nodes::Stream.new -
REXML
:: StreamListener # entitydecl(content) -> () (9037.0) -
DTDの実体宣言をパースしたときに呼び出されるコールバックメソッドです。
DTDの実体宣言をパースしたときに呼び出されるコールバックメソッドです。
@param content 実体宣言が配列で渡されます
実体宣言の書き方によって content に渡されるデータの形式が異なります。
//emlist[][ruby]{
require 'rexml/parsers/baseparser'
require 'rexml/parsers/streamparser'
require 'rexml/streamlistener'
xml = <<EOS
<!DOCTYPE root [
<!ENTITY % YN '"Yes"'>
<!ENTITY % YN 'Yes... -
Addrinfo
. unix(path , socktype=Socket :: SOCK _ STREAM) -> Addrinfo (340.0) -
Unix ソケットアドレスに対応する Addrinfo オブジェクトを返します。
Unix ソケットアドレスに対応する Addrinfo オブジェクトを返します。
socktype でソケットタイプを指定します。
require 'socket'
Addrinfo.unix("/tmp/sock") #=> #<Addrinfo: /tmp/sock SOCK_STREAM>
Addrinfo.unix("/tmp/sock", :DGRAM) #=> #<Addrinfo: /tmp/sock SOCK_DGRAM>
@param path Unix ソケットのアドレス文字列
@param socktype ソケットタイプ(整数、文字... -
Psych
:: Nodes (217.0) -
Psych が中間データとして利用している AST (Abstract Syntax Tree) に 関するモジュール。
Psych が中間データとして利用している AST (Abstract Syntax Tree) に
関するモジュール。
Psych.load によって YAML ドキュメントを Ruby オブジェクトに変換
するときには、一度中間的な AST に変換され、その AST が Ruby の
オブジェクトに変換されます。
逆向き、つまり Psych.dump で Ruby のオブジェクトを
YAML ドキュメントに変換するときには、中間的な AST に変換してから
それを YAML ドキュメントに変換します。
YAML AST の各ノードのクラスはすべて Psych::Nodes の下にあり... -
Psych
:: Emitter (109.0) -
Psych::Parser でパースし、生じたイベントから YAML ドキュメントを再構築するようなハンドラです。
Psych::Parser でパースし、生じたイベントから
YAML ドキュメントを再構築するようなハンドラです。
以下の例では STDIN から YAML ドキュメントを入力し、
再構築した YAML ドキュメントを STDERR に出力します。
parser = Psych::Parser.new(Psych::Emitter.new($stderr))
parser.parse($stdin)
また、以下のようにイベントを手動で発生させることで
YAML ドキュメントを構築させることもできます。
各メソッドの意味については Psych::Handler を参照してください... -
REXML
:: Parsers :: UltraLightParser # rewind -> () (97.0) -
REXML::Parsers::UltraLightParser.new で指定した stream を rewind してもう一度パースできる状態にします。
REXML::Parsers::UltraLightParser.new で指定した stream を
rewind してもう一度パースできる状態にします。 -
Psych
:: TreeBuilder (91.0) -
YAML AST を構築するためのクラスです。
YAML AST を構築するためのクラスです。
Psych::Parser.new に渡して YAML ドキュメントを YAML AST に変換する
ことができます。
また、Psych::Visitors::YAMLTree.new に渡して Ruby オブジェクト
を YAML AST に変換することもできます。
=== Example
parser = Psych::Parser.new Psych::TreeBuilder.new
parser.parse('--- foo')
parser.handler.root # => #<Psych::Nodes::Stre... -
yaml (73.0)
-
構造化されたデータを表現するフォーマットであるYAML (YAML Ain't Markup Language) を扱うためのライブラリです。
構造化されたデータを表現するフォーマットであるYAML (YAML Ain't Markup Language) を扱うためのライブラリです。
//emlist[例1: 構造化された配列][ruby]{
require 'yaml'
data = ["Taro san", "Jiro san", "Saburo san"]
str_r = YAML.dump(data)
str_l = <<~YAML_EOT
---
- Taro san
- Jiro san
- Saburo san
YAML_EOT
p str_r == str_l # => true
//}
... -
Psych
:: Visitors :: YAMLTree (55.0) -
Ruby オブジェクトから YAML の AST を構築するためのクラスです。
Ruby オブジェクトから YAML の AST を構築するためのクラスです。
=== 例
builder = Psych::Visitors::YAMLTree.new
builder << { :foo => 'bar' }
builder << ["baz", "bazbaz"]
builder.tree # => #<Psych::Nodes::Stream ... > A stream containing two documents
puts tree.to_yaml
# =>
# ---
# :foo: bar
# ---
# - baz... -
Socket
. tcp _ server _ loop(host , port) {|sock , addr| . . . } -> () (55.0) -
TCP/IP で host:port で待ち受けるサーバ側のソケットを作成し、 新しい接続を受け入れるごとにブロックを呼び出します。
TCP/IP で host:port で待ち受けるサーバ側のソケットを作成し、
新しい接続を受け入れるごとにブロックを呼び出します。
ブロックには新しい接続を表すソケットオブジェクトと、
クライアントアドレスを表す Addrinfo オブジェクトが渡されます。
ブロックの実行が終わってもソケットは close されません。
アプリケーション側が明示的に close する必要があります。
このメソッドはブロックを逐次的に呼び出します。
つまりブロックからリターンするまで次のコネクションを受け入れません。
そのため、同時に複数のクライアントと通信したい場合は
スレッドのような並列機構を使う必... -
Socket
. tcp _ server _ loop(port) {|sock , addr| . . . } -> () (55.0) -
TCP/IP で host:port で待ち受けるサーバ側のソケットを作成し、 新しい接続を受け入れるごとにブロックを呼び出します。
TCP/IP で host:port で待ち受けるサーバ側のソケットを作成し、
新しい接続を受け入れるごとにブロックを呼び出します。
ブロックには新しい接続を表すソケットオブジェクトと、
クライアントアドレスを表す Addrinfo オブジェクトが渡されます。
ブロックの実行が終わってもソケットは close されません。
アプリケーション側が明示的に close する必要があります。
このメソッドはブロックを逐次的に呼び出します。
つまりブロックからリターンするまで次のコネクションを受け入れません。
そのため、同時に複数のクライアントと通信したい場合は
スレッドのような並列機構を使う必... -
Socket
. unix(path) -> Socket (55.0) -
Unix クライアントソケットを生成します。
Unix クライアントソケットを生成します。
ブロックが省略されたときは、生成されたソケットが返されます。
ブロックが渡されたときは、生成されたソケットを
引数としてブロックを呼び出します。メソッドの返り値は
ブロックの評価値となります。また、ブロックの終了後に
ソケットを IO#close します。
require 'socket'
# /tmp/sock と通信する
Socket.unix("/tmp/sock") {|sock|
t = Thread.new { IO.copy_stream(sock, STDOUT) }
IO.copy_stream... -
Socket
. unix(path) {|sock| . . . } -> object (55.0) -
Unix クライアントソケットを生成します。
Unix クライアントソケットを生成します。
ブロックが省略されたときは、生成されたソケットが返されます。
ブロックが渡されたときは、生成されたソケットを
引数としてブロックを呼び出します。メソッドの返り値は
ブロックの評価値となります。また、ブロックの終了後に
ソケットを IO#close します。
require 'socket'
# /tmp/sock と通信する
Socket.unix("/tmp/sock") {|sock|
t = Thread.new { IO.copy_stream(sock, STDOUT) }
IO.copy_stream... -
Logger
# close -> nil (37.0) -
ログ出力に使用していた IO オブジェクトを閉じます。
ログ出力に使用していた IO オブジェクトを閉じます。
//emlist[例][ruby]{
require 'logger'
logger = Logger.new(STDOUT)
logger.info("test") # => I, [2019-04-16T00:40:11.837898 #2795] INFO -- : test
logger.close
logger.info("test") # => log writing failed. closed stream
//} -
Socket
# accept -> Array (37.0) -
新しい接続を受け付けて、新しい接続に対するソケットとアドレスの ペアを返します。accept(2) を参照。
新しい接続を受け付けて、新しい接続に対するソケットとアドレスの
ペアを返します。accept(2) を参照。
たとえば IPv4 の TCP サーバソケットを生成し、accept でクライアントからの接続を受け付けるには以下のようにします。
例:
require 'socket'
serv = Socket.new(Socket::AF_INET, Socket::SOCK_STREAM, 0)
sockaddr = Socket.sockaddr_in(8080, "0.0.0.0")
serv.bind(sockaddr)
serv.listen(5)
s... -
Socket
# connect(server _ sockaddr) -> 0 (37.0) -
connect(2) でソケットを接続します。
connect(2) でソケットを接続します。
server_sockaddr は、
lib:socket#pack_string
もしくは Addrinfo オブジェクト
です。
0 を返します。
@param server_sockaddr 接続先アドレス
@raise Errno::EXXX connect(2) がエラーを報告した場合に発生します。詳しくは
man を参照してください。
たとえば IPv4 の TCP ソケットを生成し、connect で www.ruby-lang.org:80 に接続するには以下のようにします。
例:
require... -
Socket
# connect _ nonblock(server _ sockaddr) -> 0 (37.0) -
ソケットをノンブロッキングモードに設定した後、 connect(2) を呼び出します。
ソケットをノンブロッキングモードに設定した後、
connect(2) を呼び出します。
引数、返り値は Socket#connect と同じです。
connect が EINPROGRESS エラーを報告した場合、その例外(Errno::EINPROGRESS)
には IO::WaitWritable が Object#extend されます。
これを connect_nonblock をリトライするために使うことができます。
# Pull down Google's web page
require 'socket'
include Socket::Constants
...