種類
- インスタンスメソッド (69)
- 定数 (56)
- 特異メソッド (18)
- クラス (1)
ライブラリ
- socket (144)
クラス
- Addrinfo (54)
- BasicSocket (6)
- Socket (39)
-
Socket
:: AncillaryData (7) -
Socket
:: Ifaddr (4) -
Socket
:: UDPSource (2) - UDPSocket (3)
モジュール
-
Socket
:: Constants (28)
キーワード
-
AI
_ ADDRCONFIG (2) -
AI
_ ALL (2) -
AI
_ CANONNAME (2) -
AI
_ DEFAULT (2) -
AI
_ NUMERICHOST (2) -
AI
_ NUMERICSERV (2) -
AI
_ PASSIVE (2) -
AI
_ V4MAPPED (2) -
AI
_ V4MAPPED _ CFG (2) -
EAI
_ ADDRFAMILY (2) -
EAI
_ AGAIN (2) -
EAI
_ BADFLAGS (2) -
EAI
_ BADHINTS (2) -
EAI
_ FAIL (2) -
EAI
_ FAMILY (2) -
EAI
_ MEMORY (2) -
EAI
_ NODATA (2) -
EAI
_ NONAME (2) -
EAI
_ OVERFLOW (2) -
EAI
_ PROTOCOL (2) -
EAI
_ SERVICE (2) -
EAI
_ SOCKTYPE (2) -
EAI
_ SYSTEM (2) -
NI
_ DGRAM (2) -
NI
_ NAMEREQD (2) -
NI
_ NOFQDN (2) -
NI
_ NUMERICHOST (2) -
NI
_ NUMERICSERV (2) -
accept
_ loop (1) - addr (1)
- afamily (1)
- bind (3)
- broadaddr (1)
- canonname (1)
- connect (2)
-
connect
_ address (1) -
connect
_ from (2) -
connect
_ to (2) - dstaddr (1)
-
family
_ addrinfo (2) - foreach (2)
- getaddrinfo (2)
- getifaddrs (1)
- getnameinfo (2)
-
inspect
_ sockaddr (1) - ip (1)
- ip? (1)
-
ip
_ address (1) -
ip
_ address _ list (1) -
ip
_ pktinfo (2) -
ip
_ port (1) -
ip
_ unpack (1) - ipv4? (1)
-
ipv4
_ loopback? (1) -
ipv4
_ multicast? (1) -
ipv4
_ private? (1) - ipv6? (1)
-
ipv6
_ linklocal? (1) -
ipv6
_ loopback? (1) -
ipv6
_ mc _ global? (1) -
ipv6
_ mc _ linklocal? (1) -
ipv6
_ mc _ nodelocal? (1) -
ipv6
_ mc _ orglocal? (1) -
ipv6
_ mc _ sitelocal? (1) -
ipv6
_ multicast? (1) -
ipv6
_ pktinfo (2) -
ipv6
_ pktinfo _ addr (1) -
ipv6
_ pktinfo _ ifindex (1) -
ipv6
_ sitelocal? (1) -
ipv6
_ to _ ipv4 (1) -
ipv6
_ unique _ local? (1) -
ipv6
_ unspecified? (1) -
ipv6
_ v4compat? (1) -
ipv6
_ v4mapped? (1) - listen (2)
-
local
_ address (2) - netmask (1)
- new (1)
- pfamily (1)
- protocol (1)
- recvfrom (1)
-
recvfrom
_ nonblock (1) - recvmsg (1)
-
recvmsg
_ nonblock (1) -
remote
_ address (2) - send (3)
- sendmsg (1)
- socktype (1)
- tcp (1)
-
to
_ s (1) -
to
_ sockaddr (1) - udp (1)
- unix (1)
- unix? (1)
-
unix
_ path (1) -
unix
_ server _ loop (1) -
unix
_ server _ socket (2)
検索結果
先頭5件
-
Addrinfo (132019.0)
-
ソケットのアドレス情報を保持するクラスです。
ソケットのアドレス情報を保持するクラスです。
ホスト/ポート番号/プロトコルなどを同定するために用いられます。
IPv4/IPv6/Unix domain socketなどのアドレス情報を保持することができます。
struct addrinfo に対応します。 -
Addrinfo
. getaddrinfo(nodename , service , family=nil , socktype=nil , protocol=nil , flags=0) -> [Addrinfo] (109342.0) -
パラメータから複数の Addrinfo オブジェクトを生成し、その配列を返します。
パラメータから複数の Addrinfo オブジェクトを生成し、その配列を返します。
nodename (ホスト名) と service (ポート番号) を Addrinfo に変換します。
変換先は一意ではないため、複数のオブジェクトを返します。
nodename と service のどちらか一方は nil を渡すことができます
(その部分は変換されません)。
family, socktype, protocol には希望する方式のヒントを与えます。
例えば、SOCK_STREAM なソケットが必要な場合には socktype に指定します。
nil を指定した場合には制限しないことを... -
Addrinfo
# family _ addrinfo(host , port) -> Addrinfo (109069.0) -
引数から自身に「似た」Addrinfo オブジェクトを生成します。
引数から自身に「似た」Addrinfo オブジェクトを生成します。
「似た」の意味はプロトコルファミリ、ソケットタイプ、プロトコルが
同じことを意味します。
require 'socket'
Addrinfo.tcp("0.0.0.0", 4649).family_addrinfo("www.ruby-lang.org", 80)
#=> #<Addrinfo: 221.186.184.68:80 TCP (www.ruby-lang.org:80)>
Addrinfo.unix("/tmp/sock").family_addrinfo("/tmp/sock2")... -
Addrinfo
# family _ addrinfo(path) -> Addrinfo (109069.0) -
引数から自身に「似た」Addrinfo オブジェクトを生成します。
引数から自身に「似た」Addrinfo オブジェクトを生成します。
「似た」の意味はプロトコルファミリ、ソケットタイプ、プロトコルが
同じことを意味します。
require 'socket'
Addrinfo.tcp("0.0.0.0", 4649).family_addrinfo("www.ruby-lang.org", 80)
#=> #<Addrinfo: 221.186.184.68:80 TCP (www.ruby-lang.org:80)>
Addrinfo.unix("/tmp/sock").family_addrinfo("/tmp/sock2")... -
Addrinfo
# ipv6 _ to _ ipv4 -> Addrinfo|nil (91030.0) -
IPv6 の v4 マップド/互換アドレスを v4 のアドレスに変換します。
IPv6 の v4 マップド/互換アドレスを v4 のアドレスに変換します。
それ以外のアドレスの場合 nil を返します。
require 'socket'
Addrinfo.ip("::192.0.2.3").ipv6_to_ipv4 #=> #<Addrinfo: 192.0.2.3>
Addrinfo.ip("::ffff:192.0.2.3").ipv6_to_ipv4 #=> #<Addrinfo: 192.0.2.3>
Addrinfo.ip("::1").ipv6_to_ipv4 #=> nil
Addrinfo.i... -
Addrinfo
# getnameinfo(flags=0) -> [String , String] (90937.0) -
ノード名とサービスを文字列の配列で返します。
ノード名とサービスを文字列の配列で返します。
flags には Socket::NI_??? という名前の定数のビット OR を渡します。
require 'socket'
Addrinfo.tcp("127.0.0.1", 80).getnameinfo
#=> ["localhost", "www"]
Addrinfo.tcp("127.0.0.1", 80).getnameinfo(Socket::NI_NUMERICSERV)
#=> ["localhost", "80"]
@param flags フラグ
@raise SocketError getnam... -
Addrinfo
# inspect _ sockaddr -> String (90655.0) -
アドレスやポート番号などの情報を人間に読める形の文字列で返します。
アドレスやポート番号などの情報を人間に読める形の文字列で返します。
require 'socket'
Addrinfo.tcp("localhost", 80).inspect_sockaddr #=> "127.0.0.1:80"
Addrinfo.tcp("ip6-localhost", 80).inspect_sockaddr #=> "[::1]:80"
Addrinfo.unix("/tmp/sock").inspect_sockaddr #=> "/tmp/sock" -
Addrinfo
# bind -> Socket (90319.0) -
自身のアドレスにバインドされたソケットを作成します。
自身のアドレスにバインドされたソケットを作成します。
ブロックが渡されたときにはそのブロックに生成された Socket
オブジェクトが渡されます。ブロックの返り値がメソッドの返り値となります。
ブロックを省略した場合は、生成された Socket
オブジェクトが返されます。
require 'socket'
Addrinfo.udp("0.0.0.0", 9981).bind {|s|
s.local_address.connect {|s| s.send "hello", 0 }
p s.recv(10) #=> "hello"
} -
Addrinfo
# bind {|sock| . . . } -> object (90319.0) -
自身のアドレスにバインドされたソケットを作成します。
自身のアドレスにバインドされたソケットを作成します。
ブロックが渡されたときにはそのブロックに生成された Socket
オブジェクトが渡されます。ブロックの返り値がメソッドの返り値となります。
ブロックを省略した場合は、生成された Socket
オブジェクトが返されます。
require 'socket'
Addrinfo.udp("0.0.0.0", 9981).bind {|s|
s.local_address.connect {|s| s.send "hello", 0 }
p s.recv(10) #=> "hello"
} -
Addrinfo
# ipv6 _ linklocal? -> bool (90301.0) -
IPv6 のリンクローカルアドレス(fe80::/10, 4291)であれば真を返します。
IPv6 のリンクローカルアドレス(fe80::/10, 4291)であれば真を返します。 -
Addrinfo
# ipv6 _ mc _ linklocal? -> bool (90301.0) -
IPv6 のマルチキャスト(リンクローカルスコープ)アドレスであれば真を返します。
IPv6 のマルチキャスト(リンクローカルスコープ)アドレスであれば真を返します。 -
Addrinfo
. unix(path , socktype=Socket :: SOCK _ STREAM) -> Addrinfo (81742.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 ソケットタイプ(整数、文字... -
Addrinfo
. ip(host) -> Addrinfo (81706.0) -
IP アドレスに対する Addrinfo オブジェクトを返します。
IP アドレスに対する Addrinfo オブジェクトを返します。
port, socktype, protocol は 0 で初期化されます。
つまりこの返り値はソケットを生成するには不適です。
require 'socket'
Addrinfo.ip("localhost") #=> #<Addrinfo: 127.0.0.1 (localhost)>
@param host ホスト(IP アドレスもしくはホスト名)
@see Addrinfo.new -
Addrinfo
# ip? -> bool (81409.0) -
アドレスが IP (v4/v6) のものならば true を返します。
アドレスが IP (v4/v6) のものならば true を返します。
require 'socket'
Addrinfo.tcp("127.0.0.1", 80).ip? #=> true
Addrinfo.tcp("::1", 80).ip? #=> true
Addrinfo.unix("/tmp/sock").ip? #=> false
@see Addrinfo#ipv4?, Addrinfo#ipv6?, Addrinfo#unix? -
Addrinfo
# ipv4? -> bool (81391.0) -
アドレスが IPv4 のものならば true を返します。
アドレスが IPv4 のものならば true を返します。
@see Addrinfo#ip?, Addrinfo#ipv6?
require 'socket'
Addrinfo.tcp("127.0.0.1", 80).ipv4? #=> true
Addrinfo.tcp("::1", 80).ipv4? #=> false
Addrinfo.unix("/tmp/sock").ipv4? #=> false -
Addrinfo
# ipv6? -> bool (81391.0) -
アドレスが IPv6 のものならば true を返します。
アドレスが IPv6 のものならば true を返します。
require 'socket'
Addrinfo.tcp("127.0.0.1", 80).ipv6? #=> false
Addrinfo.tcp("::1", 80).ipv6? #=> true
Addrinfo.unix("/tmp/sock").ipv6? #=> false
@see Addrinfo#ipv4?, Addrinfo#ip? -
Addrinfo
# ip _ address -> String (81373.0) -
IP アドレスを文字列で返します。
IP アドレスを文字列で返します。
require 'socket'
Addrinfo.tcp("127.0.0.1", 80).ip_address #=> "127.0.0.1"
Addrinfo.tcp("::1", 80).ip_address #=> "::1"
@see Addrinfo#ip_port, Addrinfo#ip_unpack -
Addrinfo
# ip _ port -> Integer (81373.0) -
ポート番号を整数で返します。
ポート番号を整数で返します。
require 'socket'
Addrinfo.tcp("127.0.0.1", 80).ip_port #=> 80
Addrinfo.tcp("::1", 80).ip_port #=> 80
@see Addrinfo#ip_address, Addrinfo#ip_unpack -
Addrinfo
# ip _ unpack -> [String , Integer] (81373.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 -
Addrinfo
# unix? -> bool (81373.0) -
アドレスが Unix domain socket のものならば true を返します。
アドレスが Unix domain socket のものならば true を返します。
require 'socket'
Addrinfo.tcp("127.0.0.1", 80).unix? #=> false
Addrinfo.tcp("::1", 80).unix? #=> false
Addrinfo.unix("/tmp/sock").unix? #=> true
@see Addrinfo#ip? -
Addrinfo
# afamily -> Integer (81319.0) -
アドレスファミリーを整数で返します。
アドレスファミリーを整数で返します。
require 'socket'
Addrinfo.tcp("localhost", 80).afamily == Socket::AF_INET #=> true -
Addrinfo
# ipv4 _ loopback? -> bool (81319.0) -
IPv4 のループバックアドレス(127.0.0.0/8) であれば真を返します。
IPv4 のループバックアドレス(127.0.0.0/8) であれば真を返します。
@see Addrinfo#ipv6_loopback? -
Addrinfo
# ipv6 _ loopback? -> bool (81319.0) -
IPv6 のループバックアドレス(::1)であれば真を返します。
IPv6 のループバックアドレス(::1)であれば真を返します。
@see Addrinfo#ipv4_loopback? -
Addrinfo
# pfamily -> Integer (81319.0) -
プロトコルファミリーを整数で返します。
プロトコルファミリーを整数で返します。
require 'socket'
Addrinfo.tcp("localhost", 80).pfamily == Socket::PF_INET #=> true -
Addrinfo
# unix _ path -> String (81319.0) -
Unix domain socket の path を文字列で返します。
Unix domain socket の path を文字列で返します。
require 'socket'
Addrinfo.unix("/tmp/sock").unix_path #=> "/tmp/sock"
@raise SocketError アドレスが Unix domain socket のものでない場合に発生します -
Addrinfo
# ipv4 _ multicast? -> bool (81301.0) -
IPv4 のマルチキャストアドレス(224.0.0.0/4)であれば真を返します。
IPv4 のマルチキャストアドレス(224.0.0.0/4)であれば真を返します。 -
Addrinfo
# ipv4 _ private? -> bool (81301.0) -
IPv4 のプライベートアドレス(10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) であれば真を返します。
IPv4 のプライベートアドレス(10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)
であれば真を返します。 -
Addrinfo
# ipv6 _ mc _ global? -> bool (81301.0) -
IPv6 のマルチキャスト(グローバルスコープ) アドレスであれば真を返します。
IPv6 のマルチキャスト(グローバルスコープ)
アドレスであれば真を返します。 -
Addrinfo
# ipv6 _ mc _ nodelocal? -> bool (81301.0) -
IPv6 のマルチキャスト(ノードローカルスコープ)アドレスであれば真を返します。
IPv6 のマルチキャスト(ノードローカルスコープ)アドレスであれば真を返します。 -
Addrinfo
# ipv6 _ mc _ orglocal? -> bool (81301.0) -
IPv6 のマルチキャスト(組織(organization)ローカルスコープ) アドレスであれば真を返します。
IPv6 のマルチキャスト(組織(organization)ローカルスコープ)
アドレスであれば真を返します。 -
Addrinfo
# ipv6 _ mc _ sitelocal? -> bool (81301.0) -
IPv6 のマルチキャスト(サイトローカルスコープ)アドレスであれば真を返します。
IPv6 のマルチキャスト(サイトローカルスコープ)アドレスであれば真を返します。 -
Addrinfo
# ipv6 _ multicast? -> bool (81301.0) -
IPv6 のマルチキャストアドレス(ff00::/8)であれば真を返します。
IPv6 のマルチキャストアドレス(ff00::/8)であれば真を返します。 -
Addrinfo
# ipv6 _ sitelocal? -> bool (81301.0) -
IPv6 のサイトローカルアドレス(fec0::/10, 3513)であれば真を返します。
IPv6 のサイトローカルアドレス(fec0::/10, 3513)であれば真を返します。 -
Addrinfo
# ipv6 _ unique _ local? -> bool (81301.0) -
IPv6 のユニークローカルアドレス(fc00::/7, 4193)であれば真を返します。
IPv6 のユニークローカルアドレス(fc00::/7, 4193)であれば真を返します。 -
Addrinfo
# ipv6 _ unspecified? -> bool (81301.0) -
IPv6 の不特定アドレス(unspecified address)(::)であれば真を返します。
IPv6 の不特定アドレス(unspecified address)(::)であれば真を返します。 -
Addrinfo
# ipv6 _ v4compat? -> bool (81301.0) -
IPv6 の v4互換アドレス(::/80)であれば真を返します。
IPv6 の v4互換アドレス(::/80)であれば真を返します。 -
Addrinfo
# ipv6 _ v4mapped? -> bool (81301.0) -
IPv6 の v4にマップされたアドレス(::ffff:0:0/80)であれば真を返します。
IPv6 の v4にマップされたアドレス(::ffff:0:0/80)であれば真を返します。 -
Addrinfo
# listen(backlog=5) -> Socket (81301.0) -
自身のアドレスにバインドされたソケットを作成し、 listen(2) を実行します。
自身のアドレスにバインドされたソケットを作成し、
listen(2) を実行します。
ブロックが渡されたときにはそのブロックに生成された Socket
オブジェクトが渡されます。ブロックの返り値がメソッドの返り値となります。
ブロックを省略した場合は、生成された Socket
オブジェクトが返されます。
@param backlog バックログの最大数 -
Addrinfo
# listen(backlog=5) {|sock| . . . } -> object (81301.0) -
自身のアドレスにバインドされたソケットを作成し、 listen(2) を実行します。
自身のアドレスにバインドされたソケットを作成し、
listen(2) を実行します。
ブロックが渡されたときにはそのブロックに生成された Socket
オブジェクトが渡されます。ブロックの返り値がメソッドの返り値となります。
ブロックを省略した場合は、生成された Socket
オブジェクトが返されます。
@param backlog バックログの最大数 -
Addrinfo
. foreach(nodename , service , family=nil , socktype=nil , protocol=nil , flags=0) {|addrinfo| . . . } -> [Addrinfo] (72955.0) -
Addrinfo.getaddrinfo で得られる配列の各要素を繰り返します。
Addrinfo.getaddrinfo で得られる配列の各要素を繰り返します。
ブロックを省略した場合は Enumerator を返します。
@param nodename ノード名文字列(ホスト名もしくは IP アドレス)
@param service サービス名(文字列もしくはポート番号の整数)
@param family プロトコルファミリー(整数、文字列、シンボル、もしくは nil)
@param socktype ソケットタイプ(整数、文字列、シンボル、もしくは nil)
@param protocol プロトコル(整数、もしくは nil)
@param flags フラグ(... -
Addrinfo
. tcp(host , port) -> Addrinfo (72688.0) -
TCP アドレスに対する Addrinfo オブジェクトを返します。
TCP アドレスに対する Addrinfo オブジェクトを返します。
require 'socket'
Addrinfo.tcp("localhost", "smtp")
#=> #<Addrinfo: 127.0.0.1:25 TCP (localhost:smtp)>
@param host ホスト(IP アドレスもしくはホスト名)
@param port ポート番号(整数)もしくはサービス名(文字列) -
Addrinfo
. udp(host , port) -> Addrinfo (72688.0) -
UDP アドレスに対する Addrinfo オブジェクトを返します。
UDP アドレスに対する Addrinfo オブジェクトを返します。
require 'socket'
Addrinfo.udp("localhost", "daytime")
#=> #<Addrinfo: 127.0.0.1:13 UDP (localhost:daytime)>
@param host ホスト(IP アドレスもしくはホスト名)
@param port ポート番号(整数)もしくはサービス名(文字列) -
Addrinfo
. new(sockaddr , family=Socket :: PF _ UNSPEC , socktype=0 , protocol=0) -> Addrinfo (72670.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 で得られるようなものでなければ
な... -
Addrinfo
# canonname -> String|nil (72355.0) -
カノニカル名を文字列で返します。
カノニカル名を文字列で返します。
カノニカル名が存在しない場合には nil を返します。
カノニカル名は Addrinfo.getaddrinfo に Socket::AI_CANONINAME
を指定した場合にセットされます。
require 'socket'
list = Addrinfo.getaddrinfo("www.ruby-lang.org", 80, :INET, :STREAM, nil, Socket::AI_CANONNAME)
p list[0] #=> #<Addrinfo: 221.186.184.68:80 TCP carbon.ruby-la... -
Addrinfo
. foreach(nodename , service , family=nil , socktype=nil , protocol=nil , flags=0) -> Enumerator (72355.0) -
Addrinfo.getaddrinfo で得られる配列の各要素を繰り返します。
Addrinfo.getaddrinfo で得られる配列の各要素を繰り返します。
ブロックを省略した場合は Enumerator を返します。
@param nodename ノード名文字列(ホスト名もしくは IP アドレス)
@param service サービス名(文字列もしくはポート番号の整数)
@param family プロトコルファミリー(整数、文字列、シンボル、もしくは nil)
@param socktype ソケットタイプ(整数、文字列、シンボル、もしくは nil)
@param protocol プロトコル(整数、もしくは nil)
@param flags フラグ(... -
Addrinfo
# protocol -> Integer (72319.0) -
ソケットプロトコルを整数で返します。
ソケットプロトコルを整数で返します。
require 'socket'
Addrinfo.tcp("localhost", 80).protocol == Socket::IPPROTO_TCP #=> true -
Addrinfo
# socktype -> Integer (72319.0) -
ソケットタイプを整数で返します。
ソケットタイプを整数で返します。
require 'socket'
Addrinfo.tcp("localhost", 80).socktype == Socket::SOCK_STREAM #=> true -
Addrinfo
# to _ s -> String (72319.0) -
struct sockaddr をパックした形式の文字列に変換します。
struct sockaddr をパックした形式の文字列に変換します。
require 'socket'
Addrinfo.tcp("localhost", 80).to_sockaddr
#=> "\x02\x00\x00P\x7F\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00" -
Addrinfo
# to _ sockaddr -> String (72319.0) -
struct sockaddr をパックした形式の文字列に変換します。
struct sockaddr をパックした形式の文字列に変換します。
require 'socket'
Addrinfo.tcp("localhost", 80).to_sockaddr
#=> "\x02\x00\x00P\x7F\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00" -
Addrinfo
# connect _ from(host , port) -> Socket (72055.0) -
引数で指定されたアドレスから 自身のアドレスへソケットを接続します。
引数で指定されたアドレスから
自身のアドレスへソケットを接続します。
接続元のアドレスは Addrinfo#family_addrinfo により生成された
ものが用いられます。
ブロックが渡されたときにはそのブロックに接続済み Socket
オブジェクトが渡されます。ブロックの返り値がメソッドの返り値となります。
ブロックを省略した場合は、接続済みSocket
オブジェクトが返されます。
引数で指定したアドレスはソケット接続のローカル側のアドレスになります。
require 'socket'
Addrinfo.tcp("www.ruby-lang.org", 80).co... -
Addrinfo
# connect _ from(host , port) {|sock| . . . } -> object (72055.0) -
引数で指定されたアドレスから 自身のアドレスへソケットを接続します。
引数で指定されたアドレスから
自身のアドレスへソケットを接続します。
接続元のアドレスは Addrinfo#family_addrinfo により生成された
ものが用いられます。
ブロックが渡されたときにはそのブロックに接続済み Socket
オブジェクトが渡されます。ブロックの返り値がメソッドの返り値となります。
ブロックを省略した場合は、接続済みSocket
オブジェクトが返されます。
引数で指定したアドレスはソケット接続のローカル側のアドレスになります。
require 'socket'
Addrinfo.tcp("www.ruby-lang.org", 80).co... -
Addrinfo
# connect _ to(host , port) -> Socket (72037.0) -
自身のアドレスから指定したホストへソケット接続します。
自身のアドレスから指定したホストへソケット接続します。
接続元のアドレスは Addrinfo#family_addrinfo により生成された
ものが用いられます。
ブロックが渡されたときにはそのブロックに接続済み Socket
オブジェクトが渡されます。ブロックの返り値がメソッドの返り値となります。
ブロックを省略した場合は、接続済み Socket
オブジェクトが返されます。
@param host ホスト(IP アドレスもしくはホスト名)
@param port ポート番号(整数)もしくはサービス名(文字列) -
Addrinfo
# connect _ to(host , port) {|sock| . . . } -> object (72037.0) -
自身のアドレスから指定したホストへソケット接続します。
自身のアドレスから指定したホストへソケット接続します。
接続元のアドレスは Addrinfo#family_addrinfo により生成された
ものが用いられます。
ブロックが渡されたときにはそのブロックに接続済み Socket
オブジェクトが渡されます。ブロックの返り値がメソッドの返り値となります。
ブロックを省略した場合は、接続済み Socket
オブジェクトが返されます。
@param host ホスト(IP アドレスもしくはホスト名)
@param port ポート番号(整数)もしくはサービス名(文字列) -
Addrinfo
# connect -> Socket (72001.0) -
自身のアドレスへソケットを接続します。
自身のアドレスへソケットを接続します。
ブロックが渡されたときにはそのブロックに接続済み Socket
オブジェクトが渡されます。ブロックの返り値がメソッドの返り値となります。
ブロックを省略した場合は、接続済み Socket
オブジェクトが返されます。 -
Addrinfo
# connect {|sock| . . . } -> object (72001.0) -
自身のアドレスへソケットを接続します。
自身のアドレスへソケットを接続します。
ブロックが渡されたときにはそのブロックに接続済み Socket
オブジェクトが渡されます。ブロックの返り値がメソッドの返り値となります。
ブロックを省略した場合は、接続済み Socket
オブジェクトが返されます。 -
Socket
. getaddrinfo(nodename , servname , family=nil , socktype=nil , protocol=nil , flags=nil) -> Array (36655.0) -
2553で定義された getaddrinfo() の機能を提供するクラスメソッド。この関数は gethostbyname() や getservbyname() の代わりとして用意されており、 IP のバージョンに依存しないプログラムを書くための標準的な API です。
2553で定義された
getaddrinfo() の機能を提供するクラスメソッド。この関数は
gethostbyname() や getservbyname() の代わりとして用意されており、
IP のバージョンに依存しないプログラムを書くための標準的な API です。
@param nodename ホスト名を指定します。 必須引数です。 (lib:socket#host_formatを参照)
@param servname サービス名を指定します。 必須引数です。 (lib:socket#service_formatを参照)
@param family アドレスファミリー。Sock... -
Socket
:: AncillaryData # ip _ pktinfo -> [Addrinfo , Integer , Addrinfo] (18979.0) -
自身の type が IP_PKTINFO である場合、保持しているデータ (アドレス、インターフェースのインデックス、ローカルアドレス) を3要素の配列で返します。
自身の type が IP_PKTINFO である場合、保持しているデータ
(アドレス、インターフェースのインデックス、ローカルアドレス)
を3要素の配列で返します。
IP_PKTINFO は非標準的拡張であり、システムによっては使えない場合があります。
require 'socket'
addr = Addrinfo.ip("127.0.0.1")
ifindex = 0
spec_dest = Addrinfo.ip("127.0.0.1")
ancdata = Socket::AncillaryData.ip_pktinfo(addr, ifindex, spe... -
Socket
:: AncillaryData # ipv6 _ pktinfo -> [Addrinfo , Integer] (18640.0) -
自身の type が IPV6_PKTINFO である場合、保持しているデータ (アドレス、インターフェースのインデックス) を2要素の配列で返します。
自身の type が IPV6_PKTINFO である場合、保持しているデータ
(アドレス、インターフェースのインデックス)
を2要素の配列で返します。
IPV6_PKTINFO については 3542 を参照してください。
require 'socket'
addr = Addrinfo.ip("::1")
ifindex = 0
ancdata = Socket::AncillaryData.ipv6_pktinfo(addr, ifindex)
p ancdata.ipv6_pktinfo #=> [#<Addrinfo: ::1>, 0]
@see Socke... -
Socket
:: AncillaryData # ipv6 _ pktinfo _ addr -> Addrinfo (18640.0) -
自身の type が IPV6_PKTINFO である場合、保持しているデータ (アドレス、インターフェースのインデックス) のアドレスを返します。
自身の type が IPV6_PKTINFO である場合、保持しているデータ
(アドレス、インターフェースのインデックス)
のアドレスを返します。
require 'socket'
addr = Addrinfo.ip("::1")
ifindex = 0
ancdata = Socket::AncillaryData.ipv6_pktinfo(addr, ifindex)
p ancdata.ipv6_pktinfo_addr #=> #<Addrinfo: ::1>
@see Socket::AncillaryData.ipv6_pktinfo,
S... -
Socket
. getifaddrs -> [Socket :: Ifaddr] (18637.0) -
インターフェイスのアドレスを Socket::Ifaddr の配列で返します。
インターフェイスのアドレスを Socket::Ifaddr の配列で返します。
本メソッドはマルチキャスト通信が可能なインターフェイスを見つけるために使う事ができます。
require 'socket'
pp Socket.getifaddrs.reject {|ifaddr|
!ifaddr.addr.ip? || (ifaddr.flags & Socket::IFF_MULTICAST == 0)
}.map {|ifaddr| [ifaddr.name, ifaddr.ifindex, ifaddr.addr] }
#=> [["eth0", 2, #<... -
Socket
:: AncillaryData # timestamp -> Time (18637.0) -
タイムスタンプ制御メッセージに含まれる時刻を Time オブジェクト で返します。
タイムスタンプ制御メッセージに含まれる時刻を Time オブジェクト
で返します。
"タイムスタンプ制御メッセージ" は以下のいずれかです。
* SOL_SOCKET/SCM_TIMESTAMP (micro second) GNU/Linux, FreeBSD, NetBSD, OpenBSD, Solaris, MacOS X
* SOL_SOCKET/SCM_TIMESTAMPNS (nano second) GNU/Linux
* SOL_SOCKET/SCM_BINTIME (2**(-64) second) FreeBSD
require 'socket... -
Socket
. unix _ server _ loop(path) {|socket , client _ addrinfo| . . . } -> () (18622.0) -
Unix サーバソケットを生成し、 新しい接続を受け入れるごとにブロックを呼び出します。
Unix サーバソケットを生成し、
新しい接続を受け入れるごとにブロックを呼び出します。
ブロックには新しい接続を表すソケットオブジェクトと、
クライアントアドレスを表す Addrinfo オブジェクトが渡されます。
ブロックの実行が終わってもソケットは close されません。
アプリケーション側が明示的に close する必要があります。
path という名前のファイルが既に存在するときは、
そのファイルのオーナである場合は先にそのファイルを削除してしまいます。
これは path が悪意あるユーザによって変更されない場合に限りは安全です。
つまり、 /tmp/malicious-us... -
Socket
. ip _ address _ list -> [Addrinfo] (18604.0) -
ローカルの IP アドレスを配列で返します。
ローカルの IP アドレスを配列で返します。 -
Socket
:: AncillaryData . ip _ pktinfo(addr , ifindex , spec _ dst=addr) -> Socket :: AncillaryData (18373.0) -
type が IP_PKTINFO である AncillaryData を生成します。
type が IP_PKTINFO である AncillaryData を生成します。
IP_PKTINFO は非標準的拡張であり、システムによっては使えない場合があります。
require 'socket'
addr = Addrinfo.ip("127.0.0.1")
ifindex = 0
spec_dst = Addrinfo.ip("127.0.0.1")
p Socket::AncillaryData.ip_pktinfo(addr, ifindex, spec_dst)
#=> #<Socket::AncillaryData: INET IP PK... -
Socket
:: Constants :: NI _ NAMEREQD -> Integer (18355.0) -
A name is required。名前解決できなかった場合にエラーを返すことを意味します。
A name is required。名前解決できなかった場合にエラーを返すことを意味します。
Socket.getnameinfo, Addrinfo#getnameinfo の引数 flags に渡す
定数です。
require 'socket'
# ここでは 192.0.2.18 は名前解決できないアドレス
Addrinfo.tcp("192.0.2.18", 514).getnameinfo()
# =>["192.0.2.18", "shell"]
Addrinfo.tcp("192.0.2.18", 514).getnameinfo(Socket:... -
Socket
:: NI _ NAMEREQD -> Integer (18355.0) -
A name is required。名前解決できなかった場合にエラーを返すことを意味します。
A name is required。名前解決できなかった場合にエラーを返すことを意味します。
Socket.getnameinfo, Addrinfo#getnameinfo の引数 flags に渡す
定数です。
require 'socket'
# ここでは 192.0.2.18 は名前解決できないアドレス
Addrinfo.tcp("192.0.2.18", 514).getnameinfo()
# =>["192.0.2.18", "shell"]
Addrinfo.tcp("192.0.2.18", 514).getnameinfo(Socket:... -
Socket
. unix _ server _ socket(path) -> Socket (18337.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 (18337.0) -
Unix サーバソケットを生成します。
Unix サーバソケットを生成します。
ブロックが省略されたときは、生成されたソケットが返されます。
ブロックが渡されたときは、生成されたソケットを
引数としてブロックを呼び出します。メソッドの返り値は
ブロックの評価値となります。また、ブロックの終了後に
ソケットを IO#close します。
require 'socket'
socket = Socket.unix_server_socket("/tmp/s")
p socket #=> #<Socket:fd 3>
p socket.local_address #=> #<... -
Socket
:: AncillaryData . ipv6 _ pktinfo(addr , ifindex) -> Socket :: AncillaryData (18337.0) -
type が IPV6_PKTINFO である AncillaryData を生成します。
type が IPV6_PKTINFO である AncillaryData を生成します。
IPV6_PKTINFO は 3542 で定義されています。
require 'socket'
addr = Addrinfo.ip("::1")
ifindex = 0
p Socket::AncillaryData.ipv6_pktinfo(addr, ifindex)
#=> #<Socket::AncillaryData: INET6 IPV6 PKTINFO ::1 ifindex:0>
@param addr アドレス(文字列もしくは Addrinfo)
@pa... -
Socket
# bind(my _ sockaddr) -> 0 (18319.0) -
ソケットを my_sockaddr に結合します。bind(2) と同じ働きをします。
ソケットを my_sockaddr に結合します。bind(2)
と同じ働きをします。
@param my_sockaddr ソケットアドレス構造体を pack した文字列lib:socket#pack_stringもしくはAddrinfoオブジェクトを指定します。
@return 0 を返します。 -
Socket
. getnameinfo(sa , flags = 0) -> Array (18319.0) -
2553 で定義された getnameinfo() の機能を提供するク ラスメソッド。 gethostbyaddr() や getservbyport() の代 わりとして用意されています。IPのバージョンに依存しないプログラムを 書くための標準的なAPIです。
2553 で定義された getnameinfo() の機能を提供するク
ラスメソッド。 gethostbyaddr() や getservbyport() の代
わりとして用意されています。IPのバージョンに依存しないプログラムを
書くための標準的なAPIです。
@param sa 文字列か配列を与えます。
@param flags 省略可能な第2引数 flags には getnameinfo(3) の第7番目の引数に指定する flags に相当する Fixnum を与えます。
@return 配列を返し、その要素はアドレスとポートを表す文字列です。
@raise SocketErr... -
Socket
:: AI _ ADDRCONFIG -> Integer (18319.0) -
Accept only if any address is assigned。
Accept only if any address is assigned。
Socket.getaddrinfo, Addrinfo.getaddrinfo の引数 flags に渡す
定数です。
@see getaddrinfo(3) -
Socket
:: AI _ ALL -> Integer (18319.0) -
Allow all addresses。
Allow all addresses。
Socket.getaddrinfo, Addrinfo.getaddrinfo の引数 flags に渡す
定数です。
@see getaddrinfo(3) -
Socket
:: AI _ CANONNAME -> Integer (18319.0) -
Fill in the canonical name。
Fill in the canonical name。
Socket.getaddrinfo, Addrinfo.getaddrinfo の引数 flags に渡す
定数です。
@see getaddrinfo(3) -
Socket
:: AI _ DEFAULT -> Integer (18319.0) -
Default flags for getaddrinfo。
Default flags for getaddrinfo。
Socket.getaddrinfo, Addrinfo.getaddrinfo の引数 flags に渡す
定数です。
@see getipnodebyname(3freebsd) -
Socket
:: AI _ NUMERICHOST -> Integer (18319.0) -
Prevent host name resolution。
Prevent host name resolution。
Socket.getaddrinfo, Addrinfo.getaddrinfo の引数 flags に渡す
定数です。
@see getaddrinfo(3) -
Socket
:: AI _ NUMERICSERV -> Integer (18319.0) -
Prevent server name resolution。
Prevent server name resolution。
Socket.getaddrinfo, Addrinfo.getaddrinfo の引数 flags に渡す
定数です。
@see getaddrinfo(3) -
Socket
:: AI _ PASSIVE -> Integer (18319.0) -
Get address to use with bind。
Get address to use with bind。
Socket.getaddrinfo, Addrinfo.getaddrinfo の引数 flags に渡す
定数です。
@see getaddrinfo(3) -
Socket
:: AI _ V4MAPPED -> Integer (18319.0) -
Accept IPv4-mapped IPv6 addresses。
Accept IPv4-mapped IPv6 addresses。
Socket.getaddrinfo, Addrinfo.getaddrinfo の引数 flags に渡す
定数です。
@see getaddrinfo(3) -
Socket
:: AI _ V4MAPPED _ CFG -> Integer (18319.0) -
Accept IPv4 mapped addresses if the kernel supports it。
Accept IPv4 mapped addresses if the kernel supports it。
Socket.getaddrinfo, Addrinfo.getaddrinfo の引数 flags に渡す
定数です。
@see getipnodebyname(3freebsd) -
Socket
:: AncillaryData # ipv6 _ pktinfo _ ifindex -> Integer (18319.0) -
自身の type が IPV6_PKTINFO である場合、保持しているデータ (アドレス、インターフェースのインデックス) のインデックスを返します。
自身の type が IPV6_PKTINFO である場合、保持しているデータ
(アドレス、インターフェースのインデックス)
のインデックスを返します。
require 'socket'
addr = Addrinfo.ip("::1")
ifindex = 0
ancdata = Socket::AncillaryData.ipv6_pktinfo(addr, ifindex)
p ancdata.ipv6_pktinfo_ifindex #=> 0
@see Socket::AncillaryData.ipv6_pktinfo,
Socket::Anc... -
Socket
:: Constants :: AI _ ADDRCONFIG -> Integer (18319.0) -
Accept only if any address is assigned。
Accept only if any address is assigned。
Socket.getaddrinfo, Addrinfo.getaddrinfo の引数 flags に渡す
定数です。
@see getaddrinfo(3) -
Socket
:: Constants :: AI _ ALL -> Integer (18319.0) -
Allow all addresses。
Allow all addresses。
Socket.getaddrinfo, Addrinfo.getaddrinfo の引数 flags に渡す
定数です。
@see getaddrinfo(3) -
Socket
:: Constants :: AI _ CANONNAME -> Integer (18319.0) -
Fill in the canonical name。
Fill in the canonical name。
Socket.getaddrinfo, Addrinfo.getaddrinfo の引数 flags に渡す
定数です。
@see getaddrinfo(3) -
Socket
:: Constants :: AI _ DEFAULT -> Integer (18319.0) -
Default flags for getaddrinfo。
Default flags for getaddrinfo。
Socket.getaddrinfo, Addrinfo.getaddrinfo の引数 flags に渡す
定数です。
@see getipnodebyname(3freebsd) -
Socket
:: Constants :: AI _ NUMERICHOST -> Integer (18319.0) -
Prevent host name resolution。
Prevent host name resolution。
Socket.getaddrinfo, Addrinfo.getaddrinfo の引数 flags に渡す
定数です。
@see getaddrinfo(3) -
Socket
:: Constants :: AI _ NUMERICSERV -> Integer (18319.0) -
Prevent server name resolution。
Prevent server name resolution。
Socket.getaddrinfo, Addrinfo.getaddrinfo の引数 flags に渡す
定数です。
@see getaddrinfo(3) -
Socket
:: Constants :: AI _ PASSIVE -> Integer (18319.0) -
Get address to use with bind。
Get address to use with bind。
Socket.getaddrinfo, Addrinfo.getaddrinfo の引数 flags に渡す
定数です。
@see getaddrinfo(3) -
Socket
:: Constants :: AI _ V4MAPPED -> Integer (18319.0) -
Accept IPv4-mapped IPv6 addresses。
Accept IPv4-mapped IPv6 addresses。
Socket.getaddrinfo, Addrinfo.getaddrinfo の引数 flags に渡す
定数です。
@see getaddrinfo(3) -
Socket
:: Constants :: AI _ V4MAPPED _ CFG -> Integer (18319.0) -
Accept IPv4 mapped addresses if the kernel supports it。
Accept IPv4 mapped addresses if the kernel supports it。
Socket.getaddrinfo, Addrinfo.getaddrinfo の引数 flags に渡す
定数です。
@see getipnodebyname(3freebsd) -
Socket
:: Constants :: EAI _ ADDRFAMILY -> Integer (18319.0) -
Address family for hostname not supported
Address family for hostname not supported
getaddrinfo(3), getnameinfo(3) などの
エラーコードです。
対応する Socket.getaddrinfo, Addrinfo.getaddrinfo などは
エラーを SocketError に変換するため、この定数は直接は利用しません。
@see getaddrinfo(3linux), gai_strerror(3freebsd) -
Socket
:: Constants :: EAI _ AGAIN -> Integer (18319.0) -
Temporary failure in name resolution
Temporary failure in name resolution
getaddrinfo(3), getnameinfo(3) などの
エラーコードです。
対応する Socket.getaddrinfo, Addrinfo.getaddrinfo などは
エラーを SocketError に変換するため、この定数は直接は利用しません。
@see getaddrinfo(3linux), gai_strerror(3freebsd) -
Socket
:: Constants :: EAI _ BADFLAGS -> Integer (18319.0) -
Invalid flags
Invalid flags
getaddrinfo(3), getnameinfo(3) などの
エラーコードです。
対応する Socket.getaddrinfo, Addrinfo.getaddrinfo などは
エラーを SocketError に変換するため、この定数は直接は利用しません。
@see getaddrinfo(3linux), gai_strerror(3freebsd) -
Socket
:: Constants :: EAI _ BADHINTS -> Integer (18319.0) -
Invalid value for hints
Invalid value for hints
getaddrinfo(3), getnameinfo(3) などの
エラーコードです。
対応する Socket.getaddrinfo, Addrinfo.getaddrinfo などは
エラーを SocketError に変換するため、この定数は直接は利用しません。 -
Socket
:: Constants :: EAI _ FAIL -> Integer (18319.0) -
Non-recoverable failure in name resolution
Non-recoverable failure in name resolution
getaddrinfo(3), getnameinfo(3) などの
エラーコードです。
対応する Socket.getaddrinfo, Addrinfo.getaddrinfo などは
エラーを SocketError に変換するため、この定数は直接は利用しません。
@see getaddrinfo(3linux), gai_strerror(3freebsd) -
Socket
:: Constants :: EAI _ FAMILY -> Integer (18319.0) -
Address family not supported
Address family not supported
getaddrinfo(3), getnameinfo(3) などの
エラーコードです。
対応する Socket.getaddrinfo, Addrinfo.getaddrinfo などは
エラーを SocketError に変換するため、この定数は直接は利用しません。
@see getaddrinfo(3linux), gai_strerror(3freebsd) -
Socket
:: Constants :: EAI _ MEMORY -> Integer (18319.0) -
Memory allocation failure
Memory allocation failure
getaddrinfo(3), getnameinfo(3) などの
エラーコードです。
対応する Socket.getaddrinfo, Addrinfo.getaddrinfo などは
エラーを SocketError に変換するため、この定数は直接は利用しません。
@see getaddrinfo(3linux), gai_strerror(3freebsd) -
Socket
:: Constants :: EAI _ NODATA -> Integer (18319.0) -
No address associated with hostname
No address associated with hostname
getaddrinfo(3), getnameinfo(3) などの
エラーコードです。
対応する Socket.getaddrinfo, Addrinfo.getaddrinfo などは
エラーを SocketError に変換するため、この定数は直接は利用しません。
@see getaddrinfo(3linux) -
Socket
:: Constants :: EAI _ NONAME -> Integer (18319.0) -
Hostname nor servname, or not known
Hostname nor servname, or not known
getaddrinfo(3), getnameinfo(3) などの
エラーコードです。
対応する Socket.getaddrinfo, Addrinfo.getaddrinfo などは
エラーを SocketError に変換するため、この定数は直接は利用しません。
@see getaddrinfo(3linux), gai_strerror(3freebsd) -
Socket
:: Constants :: EAI _ OVERFLOW -> Integer (18319.0) -
Argument buffer overflow
Argument buffer overflow
getaddrinfo(3), getnameinfo(3) などの
エラーコードです。
対応する Socket.getaddrinfo, Addrinfo.getaddrinfo などは
エラーを SocketError に変換するため、この定数は直接は利用しません。
@see getaddrinfo(3linux), gai_strerror(3freebsd)