種類
- インスタンスメソッド (36)
- 文書 (7)
- 特異メソッド (6)
- 定数 (4)
- ライブラリ (1)
ライブラリ
- ビルトイン (4)
-
rake
/ gempackagetask (1) -
rake
/ packagetask (11) - rubygems (2)
-
rubygems
/ commands / unpack _ command (1) -
rubygems
/ package / tar _ header (10) -
rubygems
/ package / tar _ input (1) -
rubygems
/ package / tar _ reader / entry (3) - socket (13)
クラス
- Addrinfo (1)
- Array (1)
-
Gem
:: Commands :: UnpackCommand (1) -
Gem
:: Package :: TarHeader (10) -
Gem
:: Package :: TarInput (1) -
Gem
:: Package :: TarReader :: Entry (3) -
Rake
:: GemPackageTask (1) -
Rake
:: PackageTask (11) - Socket (8)
-
Socket
:: Option (1) - String (3)
- UDPSocket (3)
モジュール
- Gem (2)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (1) - Marshal フォーマット (1)
-
NEWS for Ruby 2
. 1 . 0 (1) -
PACK
_ FORMAT (1) - RubyGemsPackageVersion (1)
- RubyGemsVersion (1)
-
UNPACK
_ FORMAT (1) - bind (1)
- connect (1)
- crypt (1)
-
force
_ encoding (1) -
full
_ name (1) -
gem
_ file (1) -
get
_ path (1) - getc (1)
- gname (1)
-
ip
_ unpack (1) - linkname (1)
- magic (1)
- name (2)
- pack テンプレート文字列 (1)
-
pack
_ sockaddr _ in (1) -
pack
_ sockaddr _ un (1) -
package
_ dir (1) -
package
_ dir _ path (1) -
package
_ name (1) - prefix (1)
- read (1)
-
ruby 1
. 6 feature (1) -
ruby 1
. 8 . 2 feature (1) -
ruby 1
. 9 feature (1) - send (3)
-
sockaddr
_ in (1) -
sockaddr
_ un (1) - socket (1)
-
tar
_ bz2 _ file (1) -
tar
_ command (1) -
tar
_ gz _ file (1) -
tgz
_ file (1) -
to
_ s (1) - typeflag (1)
- uname (1)
- unpack (2)
-
unpack
_ sockaddr _ in (1) -
unpack
_ sockaddr _ un (1) - version (1)
-
zip
_ command (1) -
zip
_ file (1) -
zipped
_ stream (1)
検索結果
先頭5件
-
String
# unpack(template) -> Array (84859.0) -
Array#pack で生成された文字列を テンプレート文字列 template にしたがってアンパックし、 それらの要素を含む配列を返します。
Array#pack で生成された文字列を
テンプレート文字列 template にしたがってアンパックし、
それらの要素を含む配列を返します。
@param template pack テンプレート文字列
@return オブジェクトの配列
以下にあげるものは、Array#pack、String#unpack
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができます。「長さ」の代わりに`*'とすることで「残り全て」
を表すこともできます。
長さの意味はテンプレート文字により異なりますが大抵、
"iiii"
のよう... -
String
# crypt(salt) -> String (63340.0) -
self と salt から暗号化された文字列を生成して返します。 salt には英数字、ドット (「.」)、スラッシュ (「/」) から構成される、 2 バイト以上の文字列を指定します。
self と salt から暗号化された文字列を生成して返します。
salt には英数字、ドット (「.」)、スラッシュ (「/」) から構成される、
2 バイト以上の文字列を指定します。
暗号化された文字列から暗号化前の文字列 (self) を求めることは一般に困難で、
self を知っている者のみが同じ暗号化された文字列を生成できます。
このことから self を知っているかどうかの認証に使うことが出来ます。
salt には、以下の様になるべくランダムな文字列を選ぶべきです。
他にも 29297 などがあります。
注意:
* Ruby 2.6 から非推奨になったため、引き続き... -
String
# force _ encoding(encoding) -> self (63055.0) -
文字列の持つエンコーディング情報を指定された encoding に変えます。
文字列の持つエンコーディング情報を指定された encoding に変えます。
このとき実際のエンコーディングは変換されず、検査もされません。
Array#pack などで得られたバイト列のエンコーディングを指定する時に使います。
@param encoding 変更するエンコーディング情報を表す文字列か Encoding オブジェクトを指定します。
//emlist[例][ruby]{
s = [164, 164, 164, 237, 164, 207].pack("C*")
p s.encoding #=> ASC... -
Array
# pack(template) -> String (58117.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
配列の内容を template で指定された文字列にしたがって、
バイナリとしてパックした文字列を返します。
テンプレートは
型指定文字列とその長さ(省略時は1)を並べたものです。長さと
して * が指定された時は「残りのデータ全て」の長さを
表します。型指定文字は以下で述べる pack テンプレート文字列の通りです。
@param template 自身のバイナリとしてパックするためのテンプレートを文字列で指定します。
以下にあげるものは、Array#pack、String#unpack
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができま... -
Gem
:: Package :: TarHeader :: PACK _ FORMAT -> String (27607.0) -
内部で使用します。
内部で使用します。 -
Gem
:: Package :: TarHeader :: UNPACK _ FORMAT -> String (27604.0) -
内部で使用します。
内部で使用します。 -
Rake
:: PackageTask # package _ dir -> String (27604.0) -
パッケージに入れるファイルを保存するディレクトリ名を返します。
パッケージに入れるファイルを保存するディレクトリ名を返します。
//emlist[][ruby]{
# Rakefile での記載例とする
require 'rake/packagetask'
Rake::PackageTask.new("sample", "1.0.0") do |package_task|
package_task.package_dir # => "pkg"
end
//} -
Rake
:: PackageTask # package _ dir _ path -> String (27604.0) -
パッケージに含むファイルを配置するディレクトリを返します。
パッケージに含むファイルを配置するディレクトリを返します。
//emlist[][ruby]{
# Rakefile での記載例とする
require 'rake/packagetask'
Rake::PackageTask.new("sample", "1.0.0") do |package_task|
package_task.package_dir_path # => "pkg/sample-1.0.0"
end
//} -
Rake
:: PackageTask # package _ name -> String (27604.0) -
バージョン情報を含むパッケージ名を返します。
バージョン情報を含むパッケージ名を返します。 -
pack テンプレート文字列 (21520.0)
-
pack テンプレート文字列
pack テンプレート文字列
以下にあげるものは、Array#pack、String#unpack
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができます。「長さ」の代わりに`*'とすることで「残り全て」
を表すこともできます。
長さの意味はテンプレート文字により異なりますが大抵、
"iiii"
のように連続するテンプレート文字は
"i4"
と書き換えることができます。
テンプレート文字列中の空白類は無視されます。
また、`#' から改行あるいはテンプレート文字列の最後まではコメントとみな
され無視されます。
=== 整数のテンプレート... -
Socket
. unpack _ sockaddr _ un(sockaddr) -> String (18754.0) -
lib:socket#pack_stringを unpack したソケットパス名を返します。
lib:socket#pack_stringを
unpack したソケットパス名を返します。
@param sockaddr ソケットアドレス構造体を pack した文字列lib:socket#pack_stringを指定します。
例:
require 'socket'
p Socket.unpack_sockaddr_un(Socket.sockaddr_un("/tmp/.X11-unix/X0"))
=> "/tmp/.X11-unix/X0" -
Socket
. pack _ sockaddr _ in(port , host) -> String (18706.0) -
指定したアドレスをlib:socket#pack_string で返します。port は、ポート番号を表す Fixnum あるいは、ポート 番号、サービス名を表す文字列です。
指定したアドレスをlib:socket#pack_string
で返します。port は、ポート番号を表す Fixnum あるいは、ポート
番号、サービス名を表す文字列です。
@param port ポート番号を表す Fixnum あるいは、ポート番号、サービス名を表す文字列を指定します。
@param host ホストを文字列で指定します。
@return 指定したアドレスを返します。
例:
require 'socket'
p Socket.sockaddr_in("echo", "localhost")
=> "\002\000\000\a\177\000\00... -
Socket
. pack _ sockaddr _ un(path) -> String (18706.0) -
指定したアドレスをlib:socket#pack_string で返します。
指定したアドレスをlib:socket#pack_string
で返します。
@param path パスを文字列で指定します。
例:
require 'socket'
p Socket.sockaddr_un("/tmp/.X11-unix/X0")
=> "\001\000/tmp/.X11-unix/X0\000...." -
Gem
:: RubyGemsPackageVersion -> String (18607.0) -
このライブラリのバージョンを表す文字列。
このライブラリのバージョンを表す文字列。 -
Addrinfo
# ip _ unpack -> [String , Integer] (18604.0) -
IP アドレスとポート番号を 2 要素の配列で返します。
IP アドレスとポート番号を 2 要素の配列で返します。
require 'socket'
Addrinfo.tcp("127.0.0.1", 80).ip_unpack #=> ["127.0.0.1", 80]
Addrinfo.tcp("::1", 80).ip_unpack #=> ["::1", 80]
@see Addrinfo#ip_address, Addrinfo#ip_port -
Socket
. unpack _ sockaddr _ in(sockaddr) -> Array (18451.0) -
lib:socket#pack_stringを unpack したアドレスを返します。返される値は [port, ipaddr] の配列です。
lib:socket#pack_stringを
unpack したアドレスを返します。返される値は [port, ipaddr]
の配列です。
@param sockaddr ソケットアドレス構造体を pack した文字列lib:socket#pack_stringを指定します。
例:
require 'socket'
p Socket.unpack_sockaddr_in(Socket.sockaddr_in("echo", "localhost"))
=> [7, "127.0.0.1"]
p Socket.unpack_sockaddr_in(Socket.soc... -
Socket
:: Option # unpack(template) -> Array (18349.0) -
data に対し String#unpack を呼び出し、その結果を返します。
data に対し String#unpack を呼び出し、その結果を返します。
このメソッドは過去との互換性のために存在します。 -
Socket
. sockaddr _ in(port , host) -> String (9406.0) -
指定したアドレスをlib:socket#pack_string で返します。port は、ポート番号を表す Fixnum あるいは、ポート 番号、サービス名を表す文字列です。
指定したアドレスをlib:socket#pack_string
で返します。port は、ポート番号を表す Fixnum あるいは、ポート
番号、サービス名を表す文字列です。
@param port ポート番号を表す Fixnum あるいは、ポート番号、サービス名を表す文字列を指定します。
@param host ホストを文字列で指定します。
@return 指定したアドレスを返します。
例:
require 'socket'
p Socket.sockaddr_in("echo", "localhost")
=> "\002\000\000\a\177\000\00... -
Socket
. sockaddr _ un(path) -> String (9406.0) -
指定したアドレスをlib:socket#pack_string で返します。
指定したアドレスをlib:socket#pack_string
で返します。
@param path パスを文字列で指定します。
例:
require 'socket'
p Socket.sockaddr_un("/tmp/.X11-unix/X0")
=> "\001\000/tmp/.X11-unix/X0\000...." -
Gem
:: RubyGemsVersion -> String (9307.0) -
このライブラリのバージョンを表す文字列。
このライブラリのバージョンを表す文字列。 -
Gem
:: Commands :: UnpackCommand # get _ path(gemname , version _ req) -> String | nil (9304.0) -
引数で指定された条件にマッチする Gem パッケージを保存しているパスを返します。
引数で指定された条件にマッチする Gem パッケージを保存しているパスを返します。
@param gemname Gem パッケージの名前を指定します。
@param version_req バージョンの満たすべき条件を文字列で指定します。 -
Gem
:: Package :: TarHeader # gname -> String (9304.0) -
tar のヘッダに含まれるグループ名を返します。
tar のヘッダに含まれるグループ名を返します。 -
Gem
:: Package :: TarHeader # linkname -> String (9304.0) -
tar のヘッダに含まれる linkname を返します。
tar のヘッダに含まれる linkname を返します。 -
Gem
:: Package :: TarHeader # magic -> String (9304.0) -
tar のヘッダに含まれる magic を返します。
tar のヘッダに含まれる magic を返します。 -
Gem
:: Package :: TarHeader # name -> String (9304.0) -
tar のヘッダに含まれる name を返します。
tar のヘッダに含まれる name を返します。 -
Gem
:: Package :: TarHeader # prefix -> String (9304.0) -
tar のヘッダに含まれる prefix を返します。
tar のヘッダに含まれる prefix を返します。 -
Gem
:: Package :: TarHeader # to _ s -> String (9304.0) -
ヘッダの情報を文字列として返します。
ヘッダの情報を文字列として返します。 -
Gem
:: Package :: TarHeader # typeflag -> String (9304.0) -
tar のヘッダに含まれる typeflag を返します。
tar のヘッダに含まれる typeflag を返します。 -
Gem
:: Package :: TarHeader # uname -> String (9304.0) -
tar のヘッダに含まれるユーザ名を返します。
tar のヘッダに含まれるユーザ名を返します。 -
Gem
:: Package :: TarReader :: Entry # full _ name -> String (9304.0) -
自身の完全な名前を返します。
自身の完全な名前を返します。 -
Gem
:: Package :: TarReader :: Entry # getc -> String | nil (9304.0) -
自身から外部エンコーディングに従い 1 文字読み込んで返します。 EOF に到達した時には nil を返します。
自身から外部エンコーディングに従い 1 文字読み込んで返します。
EOF に到達した時には nil を返します。 -
Gem
:: Package :: TarReader :: Entry # read(length = nil) -> String (9304.0) -
自身から指定されたバイト数読み込みます。
自身から指定されたバイト数読み込みます。
@param length 読み込むバイト数を指定します。
省略すると全てを読み込みます。 -
Rake
:: GemPackageTask # gem _ file -> String (9304.0) -
Gem パッケージの名前を返します。
Gem パッケージの名前を返します。 -
Rake
:: PackageTask # name -> String (9304.0) -
バージョン情報を含まないパッケージの名前を返します。
バージョン情報を含まないパッケージの名前を返します。
//emlist[][ruby]{
# Rakefile での記載例とする
require 'rake/packagetask'
Rake::PackageTask.new("sample", "1.0.0") do |package_task|
package_task.name # => "sample"
end
//} -
Rake
:: PackageTask # tar _ bz2 _ file -> String (9304.0) -
tar.bz2 用のファイル名を返します。
tar.bz2 用のファイル名を返します。 -
Rake
:: PackageTask # tar _ command -> String (9304.0) -
tar コマンドとして使用するコマンドを返します。
tar コマンドとして使用するコマンドを返します。
デフォルトは 'tar' です。 -
Rake
:: PackageTask # tar _ gz _ file -> String (9304.0) -
tar.gz 用のファイル名を返します。
tar.gz 用のファイル名を返します。 -
Rake
:: PackageTask # tgz _ file -> String (9304.0) -
tgz 用のファイル名を返します。
tgz 用のファイル名を返します。 -
Rake
:: PackageTask # version -> String (9304.0) -
作成するパッケージのバージョンを表す文字列を返します。
作成するパッケージのバージョンを表す文字列を返します。 -
Rake
:: PackageTask # zip _ command -> String (9304.0) -
zip コマンドとして使用するコマンドを返します。
zip コマンドとして使用するコマンドを返します。
デフォルトは 'zip' です。 -
Rake
:: PackageTask # zip _ file -> String (9304.0) -
zip ファイル用のファイル名を返します。
zip ファイル用のファイル名を返します。 -
Gem
:: Package :: TarInput # zipped _ stream(entry) -> StringIO (9301.0) -
与えられた entry の圧縮したままの StringIO を返します。
与えられた entry の圧縮したままの StringIO を返します。
@param entry エントリを指定します。 -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (2197.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への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>))... -
ruby 1
. 6 feature (991.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
ruby 1.6 feature
ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン
になります。
((<stable-snapshot|URL:ftp://ftp.netlab.co.jp/pub/lang/ruby/stable-snapshot.tar.gz>)) は、日々更新される安定版の最新ソースです。
== 1.6.8 (2002-12-24) -> stable-snapshot
: 2003-01-22: errno
EAGAIN と EWOULDBLOCK が同じ値のシステムで、EWOULDBLOCK がなくなっ
ていま... -
ruby 1
. 9 feature (415.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 . 2 feature (361.0) -
ruby 1.8.2 feature ruby 1.8.2 での ruby 1.8.1 からの変更点です。
ruby 1.8.2 feature
ruby 1.8.2 での ruby 1.8.1 からの変更点です。
掲載方針
*バグ修正の影響も含めて動作が変わるものを収録する。
*単にバグを直しただけのものは収録しない。
*ライブラリへの単なる定数の追加は収録しない。
以下は各変更点に付けるべきタグです。
*カテゴリ
* [ruby]: ruby インタプリタの変更
* [api]: 拡張ライブラリ API
* [lib]: ライブラリ
*レベル
* [bug]: バグ修正
* [new]: 追加されたクラス/メソッドなど
* [compat]: 変更されたクラス/... -
Marshal フォーマット (163.0)
-
Marshal フォーマット フォーマットバージョン 4.8 を元に記述しています。
Marshal フォーマット
フォーマットバージョン 4.8 を元に記述しています。
=== nil, true, false
それぞれ、'0', 'T', 'F' になります。
//emlist[][ruby]{
p Marshal.dump(nil).unpack1("x2 a*") # => "0"
p Marshal.dump(true).unpack1("x2 a*") # => "T"
p Marshal.dump(false).unpack1("x2 a*") # => "F"
//}
Ruby 2.1 以前では、インスタンス変数を設定しても dump されません... -
NEWS for Ruby 2
. 1 . 0 (145.0) -
NEWS for Ruby 2.1.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...NEWS for Ruby 2.1.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリス... -
socket (109.0)
-
socket はプロセス外部との通信 (プロセス間通信、ホスト間通信) を実現します。
socket はプロセス外部との通信 (プロセス間通信、ホスト間通信) を実現します。
=== ソケットアドレス
ソケットというのは通信路の末端です。
たとえば 1対1 の通信では、まず通信路の両端にひとつずつソケットをつくり、
それらのソケットを接続することによって通信路が確立し、相互に通信できるようになります。
この接続時に、一方のソケットにもう一方のソケットの場所を教えてやる必要がありますが、
この場所を指定するものがソケットアドレスです。
ソケットアドレスはソケットの種類によって中身が異なります。
たとえば TCP では IP アドレスとポート番号ですし、
Unix ドメインソ... -
Socket
# bind(my _ sockaddr) -> 0 (55.0) -
ソケットを my_sockaddr に結合します。bind(2) と同じ働きをします。
ソケットを my_sockaddr に結合します。bind(2)
と同じ働きをします。
@param my_sockaddr ソケットアドレス構造体を pack した文字列lib:socket#pack_stringもしくはAddrinfoオブジェクトを指定します。
@return 0 を返します。 -
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... -
UDPSocket
# send(mesg , flags) -> Integer (37.0) -
UDP ソケットを介してデータを送ります。
UDP ソケットを介してデータを送ります。
flags には Socket::MSG_* という定数の bitwise OR を渡します。
詳しい意味は send(2) を参照してください。
host, port の対、もしくは sockaddr_to で送り先を指定します。
送り先を省略した場合は UDPSocket#connect で接続した
先にデータを送ります。
実際に送ったデータの長さを返します。
sockaddr_to にはlib:socket#pack_string もしくは
Addrinfo オブジェクトを指定します。
host, port に関しては lib:so... -
UDPSocket
# send(mesg , flags , host , port) -> Integer (37.0) -
UDP ソケットを介してデータを送ります。
UDP ソケットを介してデータを送ります。
flags には Socket::MSG_* という定数の bitwise OR を渡します。
詳しい意味は send(2) を参照してください。
host, port の対、もしくは sockaddr_to で送り先を指定します。
送り先を省略した場合は UDPSocket#connect で接続した
先にデータを送ります。
実際に送ったデータの長さを返します。
sockaddr_to にはlib:socket#pack_string もしくは
Addrinfo オブジェクトを指定します。
host, port に関しては lib:so... -
UDPSocket
# send(mesg , flags , sockaddr _ to) -> Integer (37.0) -
UDP ソケットを介してデータを送ります。
UDP ソケットを介してデータを送ります。
flags には Socket::MSG_* という定数の bitwise OR を渡します。
詳しい意味は send(2) を参照してください。
host, port の対、もしくは sockaddr_to で送り先を指定します。
送り先を省略した場合は UDPSocket#connect で接続した
先にデータを送ります。
実際に送ったデータの長さを返します。
sockaddr_to にはlib:socket#pack_string もしくは
Addrinfo オブジェクトを指定します。
host, port に関しては lib:so...