種類
- インスタンスメソッド (30)
- 特異メソッド (22)
- 文書 (22)
- ライブラリ (11)
キーワード
- getaddrinfo (11)
- pack (19)
- pack テンプレート文字列 (11)
-
ruby 1
. 9 feature (11) - socket (11)
- unpack (11)
検索結果
先頭5件
-
Socket
. gethostbyname(host) -> Array (27343.0) -
ホスト名または IP アドレス(指定方法に関しては lib:socket#host_formatを参照) からホストの情報を返します。
...ホスト名または IP アドレス(指定方法に関しては
lib:socket#host_formatを参照)
からホストの情報を返します。
@param host 文字列でホストを指定します。
@return ホスト情報を含んだ4要素の配列を返します。
=== 返り値のホスト......情報について
ホスト情報は以下の 4 要素の配列で表現されています。
* ホスト名
* ホストの別名の配列
* ホストのアドレスタイプ (整数定数)
* ホストのアドレス
第四要素のホストのアドレスは、各アドレスタイプに......プが AF_INET (定数 2) ならば
Socket.unpack_sockaddr_in で unpack できます。
=== 使用例
irb(main):009:0> require 'socket'
irb(main):009:0> Socket.gethostbyname("210.251.121.214")
["helium.ruby-lang.org", ["helium"], 2, "\322\373y\326"]
irb(main):009:0> Socket.unpack_sock... -
Socket
. getaddrinfo(nodename , servname , family=nil , socktype=nil , protocol=nil , flags=nil) -> Array (9396.0) -
2553で定義された getaddrinfo() の機能を提供するクラスメソッド。この関数は gethostbyname() や getservbyname() の代わりとして用意されており、 IP のバージョンに依存しないプログラムを書くための標準的な API です。
...された
getaddrinfo() の機能を提供するクラスメソッド。この関数は
gethostbyname() や getservbyname() の代わりとして用意されており、
IP のバージョンに依存しないプログラムを書くための標準的な API です。
@param nodename ホスト名......se SocketError getaddrinfo(3)がエラーを返したときに発生する例外です
@see Addrinfo.getaddrinfo
=== アドレス情報について
アドレス情報とは7つの要素からなる次の形の配列です。
* 第0要素 - アドレスファミリー (String)
* 第1要素 -......ト番号 (Integer)
* 第2要素 - ホスト名 (String)
* 第3要素 - アドレス (String)
* 第4要素 - アドレスファミリーに対応する Integer
* 第5要素 - ソケットタイプに対応する Integer
* 第6要素 - プロトコルに対応する Integer
=== 必須引... -
ruby 1
. 9 feature (8082.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 ファイルのフォーマット変更
* レベル
* [bug]: バグ修正
*......[new]: 追加されたクラス/メソッドなど
* [compat]: 変更されたクラス/メソッドなど(互換性のある変更) (only backward-compatibility) (影響の範囲が小さいと思われる変更もこちら)
* [change]: 変更されたクラス/メソッドなど(互換... -
socket (6180.0)
-
socket はプロセス外部との通信 (プロセス間通信、ホスト間通信) を実現します。
...socket はプロセス外部との通信 (プロセス間通信、ホスト間通信) を実現します。
=== ソケットアドレス
ソケットというのは通信路の末端です。
たとえば 1対1 の通信では、まず通信路の両端にひとつずつソケットをつくり......インターフェース (Socket) で用いられます。
====[a:host_format] ホスト指定形式
AF_INET なソケットにおいてホストを指定するには以下のいずれか
の形式を指定します。
* ホスト名 (例: "localhost")
* octet decimalによるIPアドレス(......0.0.1")
* 空文字列 (""), 文字列 "<any>" - INADDR_ANYに相当
* 文字列 "::" - IN6ADDR_ANY_INIT に相当
* 文字列 "<broadcast>" - INADDR_BROADCASTに相当
* IPアドレスを表す 32bit の整数 (例: 0x7f000001)
====[a:service_format] サービス指定形式
サービス... -
pack テンプレート文字列 (3522.0)
-
pack テンプレート文字列
...文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができます。「長さ」の代わりに`*'とすることで「残り全て」
を表すこともできます。
長さの意味はテンプレート文字により異なりますが大抵......)
//emlist{
n: big endian unsigned 16bit
N: big endian unsigned 32bit
v: little endian unsigned 16bit
V: little endian unsigned 32bit
//}
: エンディアン依存、整数サイズ依存 (C の構造体などに適切)
//emlist{
s!: signed short
S!: unsigned short
i,i!: signed int......//emlist[][ruby]{
"\x01\xFE".unpack("H*") # => ["01fe"]
"\x01\xFE".unpack("H3") # => ["01f"]
"~".unpack("H2") # => ["7e"]
["01fe"].pack("H*") # => "\x01\xFE"
["7e"].pack("H2") # => "~"
//}
: c
char (8bit 符号つき整数)
//emlist[][ruby]{
"\x01\xFE".unpack("c*") # => [1, -2]
[1, -2... -
Array
# pack(template) -> String (728.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
...配列の内容を template で指定された文字列にしたがって、
バイナリとしてパックした文字列を返します。
テンプレートは
型指定文字列とその長さ(省略時は1)を並べたものです。長さと
して * が指定された時は「残りのデ......//emlist[][ruby]{
"\x01\xFE".unpack("H*") # => ["01fe"]
"\x01\xFE".unpack("H3") # => ["01f"]
"~".unpack("H2") # => ["7e"]
["01fe"].pack("H*") # => "\x01\xFE"
["7e"].pack("H2") # => "~"
//}
: c
char (8bit 符号つき整数)
//emlist[][ruby]{
"\x01\xFE".unpack("c*") # => [1, -2]
[1, -2......igned long(その2)
//emlist[][ruby]{
s = "\xFF\xFF\xFF\xFE"
n = s.unpack("N").pack("l").unpack("l")[0]
n # => -2
//}
: IPアドレス
//emlist[][ruby]{
require 'socket'
official_hostname, alias_hostnames, address_family, *address_list = Socket.gethostbyname("localhost")
address_list.find {|address... -
Array
# pack(template , buffer: String . new) -> String (728.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
...配列の内容を template で指定された文字列にしたがって、
バイナリとしてパックした文字列を返します。
テンプレートは
型指定文字列とその長さ(省略時は1)を並べたものです。長さと
して * が指定された時は「残りのデ......//emlist[][ruby]{
"\x01\xFE".unpack("H*") # => ["01fe"]
"\x01\xFE".unpack("H3") # => ["01f"]
"~".unpack("H2") # => ["7e"]
["01fe"].pack("H*") # => "\x01\xFE"
["7e"].pack("H2") # => "~"
//}
: c
char (8bit 符号つき整数)
//emlist[][ruby]{
"\x01\xFE".unpack("c*") # => [1, -2]
[1, -2......igned long(その2)
//emlist[][ruby]{
s = "\xFF\xFF\xFF\xFE"
n = s.unpack("N").pack("l").unpack("l")[0]
n # => -2
//}
: IPアドレス
//emlist[][ruby]{
require 'socket'
official_hostname, alias_hostnames, address_family, *address_list = Socket.gethostbyname("localhost")
address_list.find {|address... -
String
# unpack(template) -> Array (722.0) -
Array#pack で生成された文字列を テンプレート文字列 template にしたがってアンパックし、 それらの要素を含む配列を返します。
...Array#pack で生成された文字列を
テンプレート文字列 template にしたがってアンパックし、
それらの要素を含む配列を返します。
@param template pack テンプレート文字列
@return オブジェクトの配列
以下にあげるもの......文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができます。「長さ」の代わりに`*'とすることで「残り全て」
を表すこともできます。
長さの意味はテンプレート文字により異なりますが大抵......//emlist[][ruby]{
"\x01\xFE".unpack("H*") # => ["01fe"]
"\x01\xFE".unpack("H3") # => ["01f"]
"~".unpack("H2") # => ["7e"]
["01fe"].pack("H*") # => "\x01\xFE"
["7e"].pack("H2") # => "~"
//}
: c
char (8bit 符号つき整数)
//emlist[][ruby]{
"\x01\xFE".unpack("c*") # => [1, -2]
[1, -2...