るりまサーチ (Ruby 2.2.0)

最速Rubyリファレンスマニュアル検索!
70件ヒット [1-70件を表示] (0.098秒)

別のキーワード

  1. addrinfo bind
  2. addrinfo listen
  3. addrinfo connect
  4. addrinfo foreach
  5. addrinfo connect_to

検索結果

Addrinfo#family_addrinfo(host, port) -> Addrinfo (81772.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 (81772.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 (63433.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#ip? -> bool (63112.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 (63094.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 (63094.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 (63076.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 (63076.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] (63076.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 (63076.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#canonname -> String|nil (63058.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#connect_from(host, port) -> Socket (63058.0)

引数で指定されたアドレスから 自身のアドレスへソケットを接続します。

引数で指定されたアドレスから
自身のアドレスへソケットを接続します。

接続元のアドレスは Addrinfo#family_addrinfo により生成された
ものが用いられます。

ブロックが渡されたときにはそのブロックに接続済み Socket
オブジェクトが渡されます。ブロックの返り値がメソッドの返り値となります。
ブロックを省略した場合は、接続済みSocket
オブジェクトが返されます。

引数で指定したアドレスはソケット接続のローカル側のアドレスになります。

require 'socket'

Addrinfo.tcp("www.ruby-lang.org", 80).co...

Addrinfo#connect_from(host, port) {|sock| ... } -> object (63058.0)

引数で指定されたアドレスから 自身のアドレスへソケットを接続します。

引数で指定されたアドレスから
自身のアドレスへソケットを接続します。

接続元のアドレスは Addrinfo#family_addrinfo により生成された
ものが用いられます。

ブロックが渡されたときにはそのブロックに接続済み Socket
オブジェクトが渡されます。ブロックの返り値がメソッドの返り値となります。
ブロックを省略した場合は、接続済みSocket
オブジェクトが返されます。

引数で指定したアドレスはソケット接続のローカル側のアドレスになります。

require 'socket'

Addrinfo.tcp("www.ruby-lang.org", 80).co...

Addrinfo#inspect_sockaddr -> String (63058.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#connect_to(host, port) -> Socket (63040.0)

自身のアドレスから指定したホストへソケット接続します。

自身のアドレスから指定したホストへソケット接続します。

接続元のアドレスは Addrinfo#family_addrinfo により生成された
ものが用いられます。

ブロックが渡されたときにはそのブロックに接続済み Socket
オブジェクトが渡されます。ブロックの返り値がメソッドの返り値となります。
ブロックを省略した場合は、接続済み Socket
オブジェクトが返されます。

@param host ホスト(IP アドレスもしくはホスト名)
@param port ポート番号(整数)もしくはサービス名(文字列)

絞り込み条件を変える

Addrinfo#connect_to(host, port) {|sock| ... } -> object (63040.0)

自身のアドレスから指定したホストへソケット接続します。

自身のアドレスから指定したホストへソケット接続します。

接続元のアドレスは Addrinfo#family_addrinfo により生成された
ものが用いられます。

ブロックが渡されたときにはそのブロックに接続済み Socket
オブジェクトが渡されます。ブロックの返り値がメソッドの返り値となります。
ブロックを省略した場合は、接続済み Socket
オブジェクトが返されます。

@param host ホスト(IP アドレスもしくはホスト名)
@param port ポート番号(整数)もしくはサービス名(文字列)

Addrinfo#getnameinfo(flags=0) -> [String, String] (63040.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#afamily -> Integer (63022.0)

アドレスファミリーを整数で返します。

アドレスファミリーを整数で返します。

require 'socket'

Addrinfo.tcp("localhost", 80).afamily == Socket::AF_INET #=> true

Addrinfo#bind -> Socket (63022.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 (63022.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#ipv4_loopback? -> bool (63022.0)

IPv4 のループバックアドレス(127.0.0.0/8) であれば真を返します。

IPv4 のループバックアドレス(127.0.0.0/8) であれば真を返します。

@see Addrinfo#ipv6_loopback?

Addrinfo#ipv6_loopback? -> bool (63022.0)

IPv6 のループバックアドレス(::1)であれば真を返します。

IPv6 のループバックアドレス(::1)であれば真を返します。

@see Addrinfo#ipv4_loopback?

Addrinfo#pfamily -> Integer (63022.0)

プロトコルファミリーを整数で返します。

プロトコルファミリーを整数で返します。

require 'socket'

Addrinfo.tcp("localhost", 80).pfamily == Socket::PF_INET #=> true

Addrinfo#protocol -> Integer (63022.0)

ソケットプロトコルを整数で返します。

ソケットプロトコルを整数で返します。

require 'socket'

Addrinfo.tcp("localhost", 80).protocol == Socket::IPPROTO_TCP #=> true

Addrinfo#socktype -> Integer (63022.0)

ソケットタイプを整数で返します。

ソケットタイプを整数で返します。

require 'socket'

Addrinfo.tcp("localhost", 80).socktype == Socket::SOCK_STREAM #=> true

絞り込み条件を変える

Addrinfo#to_s -> String (63022.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 (63022.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#unix_path -> String (63022.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#connect -> Socket (63004.0)

自身のアドレスへソケットを接続します。

自身のアドレスへソケットを接続します。

ブロックが渡されたときにはそのブロックに接続済み Socket
オブジェクトが渡されます。ブロックの返り値がメソッドの返り値となります。
ブロックを省略した場合は、接続済み Socket
オブジェクトが返されます。

Addrinfo#connect {|sock| ... } -> object (63004.0)

自身のアドレスへソケットを接続します。

自身のアドレスへソケットを接続します。

ブロックが渡されたときにはそのブロックに接続済み Socket
オブジェクトが渡されます。ブロックの返り値がメソッドの返り値となります。
ブロックを省略した場合は、接続済み Socket
オブジェクトが返されます。

絞り込み条件を変える

Addrinfo#ipv4_multicast? -> bool (63004.0)

IPv4 のマルチキャストアドレス(224.0.0.0/4)であれば真を返します。

IPv4 のマルチキャストアドレス(224.0.0.0/4)であれば真を返します。

Addrinfo#ipv4_private? -> bool (63004.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_linklocal? -> bool (63004.0)

IPv6 のリンクローカルアドレス(fe80::/10, 4291)であれば真を返します。

IPv6 のリンクローカルアドレス(fe80::/10, 4291)であれば真を返します。

Addrinfo#ipv6_mc_global? -> bool (63004.0)

IPv6 のマルチキャスト(グローバルスコープ) アドレスであれば真を返します。

IPv6 のマルチキャスト(グローバルスコープ)
アドレスであれば真を返します。

Addrinfo#ipv6_mc_linklocal? -> bool (63004.0)

IPv6 のマルチキャスト(リンクローカルスコープ)アドレスであれば真を返します。

IPv6 のマルチキャスト(リンクローカルスコープ)アドレスであれば真を返します。

絞り込み条件を変える

Addrinfo#ipv6_mc_nodelocal? -> bool (63004.0)

IPv6 のマルチキャスト(ノードローカルスコープ)アドレスであれば真を返します。

IPv6 のマルチキャスト(ノードローカルスコープ)アドレスであれば真を返します。

Addrinfo#ipv6_mc_orglocal? -> bool (63004.0)

IPv6 のマルチキャスト(組織(organization)ローカルスコープ) アドレスであれば真を返します。

IPv6 のマルチキャスト(組織(organization)ローカルスコープ)
アドレスであれば真を返します。

Addrinfo#ipv6_mc_sitelocal? -> bool (63004.0)

IPv6 のマルチキャスト(サイトローカルスコープ)アドレスであれば真を返します。

IPv6 のマルチキャスト(サイトローカルスコープ)アドレスであれば真を返します。

Addrinfo#ipv6_multicast? -> bool (63004.0)

IPv6 のマルチキャストアドレス(ff00::/8)であれば真を返します。

IPv6 のマルチキャストアドレス(ff00::/8)であれば真を返します。

Addrinfo#ipv6_sitelocal? -> bool (63004.0)

IPv6 のサイトローカルアドレス(fec0::/10, 3513)であれば真を返します。

IPv6 のサイトローカルアドレス(fec0::/10, 3513)であれば真を返します。

絞り込み条件を変える

Addrinfo#ipv6_unique_local? -> bool (63004.0)

IPv6 のユニークローカルアドレス(fc00::/7, 4193)であれば真を返します。

IPv6 のユニークローカルアドレス(fc00::/7, 4193)であれば真を返します。

Addrinfo#ipv6_unspecified? -> bool (63004.0)

IPv6 の不特定アドレス(unspecified address)(::)であれば真を返します。

IPv6 の不特定アドレス(unspecified address)(::)であれば真を返します。

Addrinfo#ipv6_v4compat? -> bool (63004.0)

IPv6 の v4互換アドレス(::/80)であれば真を返します。

IPv6 の v4互換アドレス(::/80)であれば真を返します。

Addrinfo#ipv6_v4mapped? -> bool (63004.0)

IPv6 の v4にマップされたアドレス(::ffff:0:0/80)であれば真を返します。

IPv6 の v4にマップされたアドレス(::ffff:0:0/80)であれば真を返します。

Addrinfo#listen(backlog=5) -> Socket (63004.0)

自身のアドレスにバインドされたソケットを作成し、 listen(2) を実行します。

自身のアドレスにバインドされたソケットを作成し、
listen(2) を実行します。

ブロックが渡されたときにはそのブロックに生成された Socket
オブジェクトが渡されます。ブロックの返り値がメソッドの返り値となります。
ブロックを省略した場合は、生成された Socket
オブジェクトが返されます。

@param backlog バックログの最大数

絞り込み条件を変える

Addrinfo#listen(backlog=5) {|sock| ... } -> object (63004.0)

自身のアドレスにバインドされたソケットを作成し、 listen(2) を実行します。

自身のアドレスにバインドされたソケットを作成し、
listen(2) を実行します。

ブロックが渡されたときにはそのブロックに生成された Socket
オブジェクトが渡されます。ブロックの返り値がメソッドの返り値となります。
ブロックを省略した場合は、生成された Socket
オブジェクトが返されます。

@param backlog バックログの最大数

Socket::AncillaryData#ip_pktinfo -> [Addrinfo, Integer, Addrinfo] (682.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...

BasicSocket#local_address -> Addrinfo (409.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 (409.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...

BasicSocket#connect_address -> Addrinfo (391.0)

ローカルマシン内で接続するのに適当なアドレスを Addrinfo オブジェクトで返します。

ローカルマシン内で接続するのに適当なアドレスを Addrinfo
オブジェクトで返します。

BasicSocket#local_address の返り値
以下の点を除いては同じものを返します。
* IPv4 の不定アドレス(0.0.0.0) は IPv4 のループバックアドレス(127.0.0.1)
に置換される
* IPv6 の不定アドレス(::) は IPv6 のループバックアドレス(::1)
に置換される

BasicSocket#local_address が接続先として不適なアドレスを返す場合は
例外 SocketError が発生します。

requ...

絞り込み条件を変える

Socket::Ifaddr#addr -> Addrinfo | nil (355.0)

self のアドレスを Addrinfo オブジェクトで返します。 self が利用できない場合は nil を返します。

self のアドレスを Addrinfo オブジェクトで返します。
self が利用できない場合は nil を返します。

Socket::Ifaddr#broadaddr -> Addrinfo | nil (355.0)

self のブロードキャストアドレスを Addrinfo オブジェクトで返します。 self.flags で Socket::IFF_BROADCAST が有効ではない場合は nil を返します。

self のブロードキャストアドレスを Addrinfo オブジェクトで返します。
self.flags で Socket::IFF_BROADCAST が有効ではない場合は nil を返します。

Socket::Ifaddr#dstaddr -> Addrinfo | nil (355.0)

self の宛先アドレスを Addrinfo オブジェクトで返します。 self.flags で Socket::IFF_POINTOPOINT が有効ではない場合は nil を返します。

self の宛先アドレスを Addrinfo オブジェクトで返します。
self.flags で Socket::IFF_POINTOPOINT が有効ではない場合は nil を返します。

Socket::Ifaddr#netmask -> Addrinfo | nil (355.0)

self のネットマスクを Addrinfo オブジェクトで返します。 self が利用できない場合は nil を返します。

self のネットマスクを Addrinfo オブジェクトで返します。
self が利用できない場合は nil を返します。

Socket::UDPSource#local_address -> Addrinfo (355.0)

ローカル側のアドレス情報を Addrinfo オブジェクトで返します。

ローカル側のアドレス情報を Addrinfo オブジェクトで返します。

絞り込み条件を変える

Socket::UDPSource#remote_address -> Addrinfo (355.0)

リモート側のアドレス情報を Addrinfo オブジェクトで返します。

リモート側のアドレス情報を Addrinfo オブジェクトで返します。

Socket::AncillaryData#ipv6_pktinfo -> [Addrinfo, Integer] (343.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 (343.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...

BasicSocket#recvmsg(maxmesglen=nil, flags=0, maxcontrollen=nil, opts={}) -> [String, Addrinfo, Integer, *Socket::AncillaryData] (325.0)

recvmsg(2) を用いてメッセージを受け取ります。

recvmsg(2) を用いてメッセージを受け取ります。

このメソッドはブロックします。ノンブロッキング方式で通信したい
場合は BasicSocket#recvmsg_nonblock を用います。

maxmesglen, maxcontrollen で受け取るメッセージおよび補助データ
(Socket::AncillaryData)の最大長をバイト単位で指定します。
省略した場合は必要なだけ内部バッファを拡大して
データが切れないようにします。

flags では Socket::MSG_* という名前の定数の biwsise OR を取った
ものを渡します。

opts にはその他...

BasicSocket#recvmsg_nonblock(maxmesglen=nil, flags=0, maxcontrollen=nil, opts={}) -> [String, Addrinfo, Integer, *Socket::AncillaryData] (307.0)

recvmsg(2) を用いてノンブロッキング方式でメッセージを受け取ります。

recvmsg(2) を用いてノンブロッキング方式でメッセージを受け取ります。

ブロッキングの有無以外は BasicSocket#recvmsg と同じです。
詳しくはそちらを参照してください。

@param maxmesglen 受け取るメッセージの最大長
@param flags フラグ
@param maxcontrollen 受け取る補助データの最大長
@param opts ハッシュオプション

絞り込み条件を変える

Socket#recvfrom(maxlen, flags=0) -> [String, Addrinfo] (307.0)

ソケットからデータを受け取ります。

ソケットからデータを受け取ります。

Socket#recv と同様ですが、返り値として
データ文字列と相手ソケットのアドレスのペアが返されます。

flags には Socket::MSG_* という定数の bitwise OR を渡します。
詳しくは recvfrom(2) を参照してください。

@param maxlen ソケットから受けとるデータの最大値
@param flags フラグ
@raise Errno::EXXX recvfrom(2) がエラーを報告した場合に発生します。詳しくは
Errno と man を見てください。
例:

require 's...

Socket#recvfrom_nonblock(maxlen, flags=0) -> [String, Addrinfo] (307.0)

ソケットをノンブロッキングモードに設定した後、 recvfrom(2) を呼び出します。

ソケットをノンブロッキングモードに設定した後、
recvfrom(2) を呼び出します。

引数、返り値は Socket#recvfrom と同じです。

recvfrom(2) がエラーになった場合、
EAGAIN, EINTR を含め例外 Errno::EXXX が発生します。
Errno::EWOULDBLOCK、Errno::EAGAIN のような待ってからリトライすることが
可能であることを意味する例外には、IO::WaitReadable が extend
されています。

@param maxlen ソケットから受けとるデータの最大値
@param flags フラグ
@rai...

Socket::AncillaryData#timestamp -> Time (40.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...

BasicSocket#sendmsg(mesg, flags=0, dest_sockaddr=nil, *controls) -> Integer (22.0)

sendmsg(2) を用いてメッセージを送ります。

sendmsg(2) を用いてメッセージを送ります。

このメソッドはブロックします。ノンブロッキング方式で通信したい
場合は BasicSocket#sendmsg_nonblock を用います。

ソケットが connection-less の場合は dest_sockaddr で
通信先のアドレスを指定しなければなりません。Socket.sockaddr_in
の返り値や Addrinfo オブジェクトを引数として渡すことができます。

controls には 補助データ(ancillary data)を渡します。
Socket::AncillaryData のインスタンスや
3要素(c...

Socket#bind(my_sockaddr) -> 0 (22.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 (22.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::AncillaryData#ipv6_pktinfo_ifindex -> Integer (22.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...

UDPSocket#send(mesg, flags) -> Integer (22.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 (22.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 (22.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...

絞り込み条件を変える