るりまサーチ (Ruby 2.5.0)

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

別のキーワード

  1. socket ip_pktinfo
  2. socket sol_ip
  3. socket ip_ttl
  4. socket ip_tos
  5. socket ip_mtu

検索結果

Addrinfo.ip(host) -> Addrinfo (54397.0)

IP アドレスに対する Addrinfo オブジェクトを返します。

...port, socktype, protocol は 0 で初期化されます。
つまりこの返り値はソケットを生成するには不適です。

require 'socket'

Addrinfo.ip("localhost") #=> #<Addrinfo: 127.0.0.1 (localhost)>

@param host ホスト(IP アドレスもしくはホスト名)
@see Addrinfo....

Socket::AncillaryData.ip_pktinfo(addr, ifindex, spec_dst=addr) -> Socket::AncillaryData (18487.0)

type が IP_PKTINFO である AncillaryData を生成します。

...によっては使えない場合があります。

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 PKTINFO 127.0.0.1 ifindex:0 spec_dst:127...
....0.0.1>

@param addr アドレス(文字列もしくは Addrinfo)
@param ifindex インターフェースのインデックス(整数)
@param spec_dst パケットのローカルアドレス(文字列もしくは Addrinfo)

@see Socket::AncillaryData#ip_pktinfo,
Socket
::Constants::IP_PKTINFO...

Socket.ip_address_list -> [Addrinfo] (18361.0)

ローカルの IP アドレスを配列で返します。

ローカルの IP アドレスを配列で返します。

Socket::AncillaryData.ipv6_pktinfo(addr, ifindex) -> Socket::AncillaryData (18328.0)

type が IPV6_PKTINFO である AncillaryData を生成します。

...ta を生成します。

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)
@param ifindex インターフェースのインデックス(整数)

@see Socket::AncillaryData#ipv6_pktinfo,
Socket
::Constants::IPV6_PKTINFO...

IPSocket.getaddress(host) -> String (9010.0)

ホスト名からホストのアドレスを返します。ホストのアドレスは文 字列は octet decimal の文字列 (例: 127.0.0.1) です。

...ホストのアドレスを返します。ホストのアドレスは文
字列は octet decimal の文字列 (例: 127.0.0.1) です。

@param host ホスト名を文字列で指定します。

例:

require 'socket'

p IPSocket.getaddress("www.ruby-lang.org") #=> "210.163.138.100"...

絞り込み条件を変える

Socket::AncillaryData.new(family, cmsg_level, cmsg_type, cmsg_data) -> Socket::AncillaryData (100.0)

新たな Socket::AncillaryData オブジェクトを生成します。

...新たな Socket::AncillaryData オブジェクトを生成します。

family はソケットファミリーを指定します。
整数、文字列、シンボルを渡します。
* Socket::AF_INET, "AF_INET", "INET", :AF_INET, :INET
* Socket::AF_UNIX, "AF_UNIX", "UNIX", :AF_UNIX, :UNIX
*...
...定します。
整数、文字列、シンボルを渡します。
* Socket::SOL_SOCKET, "SOL_SOCKET", "SOCKET", :SOL_SOCKET and :SOCKET
* Socket::IPPROTO_IP, "IP" and :IP
* Socket::IPPROTO_IPV6, "IPV6" and :IPV6
* Socket::IPPROTO_TCP, "TCP" and :TCP
* など

cmsg_type は補助データの...
...異なります。
整数、文字列、シンボルを渡します。
* Socket::SCM_RIGHTS, "SCM_RIGHTS", "RIGHTS", :SCM_RIGHTS, :RIGHTS for SOL_SOCKET
* Socket::IP_RECVTTL, "RECVTTL" and :RECVTTL for IPPROTO_IP
* Socket::IPV6_PKTINFO, "PKTINFO" and :PKTINFO for IPPROTO_IPV6
* など

cmsg_data...

Socket.getaddrinfo(nodename, servname, family=nil, socktype=nil, protocol=nil, flags=nil) -> Array (94.0)

2553で定義された getaddrinfo() の機能を提供するクラスメソッド。この関数は gethostbyname() や getservbyname() の代わりとして用意されており、 IP のバージョンに依存しないプログラムを書くための標準的な API です。

...名を指定します。 必須引数です。 (lib:socket#host_formatを参照)

@param servname サービス名を指定します。 必須引数です。 (lib:socket#service_formatを参照)

@param family アドレスファミリー。Socket::Constants::AF_INET など、AF_ で始まる定数を...
...指定します。

@param socktype ソケットタイプ。 Socket::Constants::SOCK_STREAM など、 SOCK_ で始まる定数を指定します。

@param protocol プロトコル。Socket::Constants::IPPROTO_IP など、IPPROTO_ で始まる定数を指定します。

@param flags getaddrinfo(3)...
...数に指定する addrinfo 構造体の ai_flags メンバに相当する整数。 Socket::AI_PASSIVEなど。

@return 7つの要素からなるアドレス情報に関する配列を返します。
@raise SocketError getaddrinfo(3)がエラーを返したときに発生する例外です

@see Ad...

TCPSocket.gethostbyname(host) -> Array (76.0)

ホスト名または IP アドレス (整数または"127.0.0.1" のような文字列)からホストの情報を返します。ホスト情報は、ホ スト名、ホストの別名の配列、ホストのアドレスタイプ、ホストの アドレスを各要素とする配列です。ホストのアドレスは octet decimal の文字列 ("127.0.0.1"のような文字列) や IPv6 アドレス ("::1" のような文字列) です。

...

@return ホスト名、ホストの別名の配列、ホストのアドレスタイプ、ホストのアドレスを各要素とする配列を返します。

例:

require 'socket'

p TCPSocket.gethostbyname("www.ruby-lang.org")
#=> ["beryllium.ruby-lang.org", [], 2, "210.163.138.100"]...

Socket.gethostbyname(host) -> Array (58.0)

ホスト名または IP アドレス(指定方法に関しては lib:socket#host_formatを参照) からホストの情報を返します。

...ホスト名または IP アドレス(指定方法に関しては
lib:socket#host_formatを参照)
からホストの情報を返します。

@param host 文字列でホストを指定します。

@return ホスト情報を含んだ4要素の配列を返します。

=== 返り値のホスト...
...) ならば
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_sockaddr_in(Socket.gethostby...

Socket.getnameinfo(sa, flags = 0) -> Array (58.0)

2553 で定義された getnameinfo() の機能を提供するク ラスメソッド。 gethostbyaddr() や getservbyport() の代 わりとして用意されています。IPのバージョンに依存しないプログラムを 書くための標準的なAPIです。

...ise SocketError getnameinfo(3) がエラーを起こした場合に生じる例外

@see Addrinfo#getnameinfo

=== 引数 sa について
引数 sa には文字列か配列を与えます。文字列の場合は sockaddr 構造体
のパック文字列を与えます。具体的には BasicSocket#ge...
...素が4つの場合:
[アドレスファミリー, サービス, 任意, アドレスを表す文字列]

アドレスファミリーには Socket::AF_INET 等の定数の他に文字列
で "AF_INET" もしくは "AF_INET6" もしくは nil が
指定できます。ただしIPv6が使えな...
...なります。アドレスファミリーに
nil を指定することは Socket::AF_UNSPEC を指定すること
と等価です。

サービス、ホストの指定に関しては lib:socket#service_format、
lib:socket#host_formatを参照してください。

要素が3つの場合でも、...

絞り込み条件を変える

Socket.tcp(host, port, local_host=nil, local_port=nil, connect_timeout: nil) -> Socket (58.0)

TCP/IP で host:port に接続するソケットオブジェクトを作成します。

...ックが返した値です。
ブロックなしで呼ばれた場合はソケットオブジェクトを返します。

require 'socket'

Socket
.tcp("www.ruby-lang.org", 80) {|sock|
sock.print "GET / HTTP/1.0\r\nHost: www.ruby-lang.org\r\n\r\n"
sock.close_write
puts sock.r...

Socket.tcp(host, port, local_host=nil, local_port=nil, connect_timeout: nil) {|socket| ... } -> object (58.0)

TCP/IP で host:port に接続するソケットオブジェクトを作成します。

...ックが返した値です。
ブロックなしで呼ばれた場合はソケットオブジェクトを返します。

require 'socket'

Socket
.tcp("www.ruby-lang.org", 80) {|sock|
sock.print "GET / HTTP/1.0\r\nHost: www.ruby-lang.org\r\n\r\n"
sock.close_write
puts sock.r...

Socket.tcp_server_loop(host, port) {|sock,addr| ...} -> () (58.0)

TCP/IP で host:port で待ち受けるサーバ側のソケットを作成し、 新しい接続を受け入れるごとにブロックを呼び出します。

...それが用いられます。

# 逐次的な echo サーバ
# 一度に一つのクライアントした取り扱えない
require 'socket'

Socket
.tcp_server_loop(16807) {|sock, client_addrinfo|
begin
IO.copy_stream(sock, sock)
ensure
sock.close
end
}

# ス...
...注意
require 'socket'

Socket
.tcp_server_loop(16807) {|sock, client_addrinfo|
Thread.new {
begin
IO.copy_stream(sock, sock)
ensure
sock.close
end
}
}

内部的には Socket.tcp_server_sockets で
生成したソケットを Socket.accept_loop で処...
...理しています。

@param host 割り当てるホスト名
@param port 割り当てるポート番号
@see Socket.tcp_server_sockets, Socket.accept_loop...

Socket.tcp_server_loop(port) {|sock,addr| ...} -> () (58.0)

TCP/IP で host:port で待ち受けるサーバ側のソケットを作成し、 新しい接続を受け入れるごとにブロックを呼び出します。

...それが用いられます。

# 逐次的な echo サーバ
# 一度に一つのクライアントした取り扱えない
require 'socket'

Socket
.tcp_server_loop(16807) {|sock, client_addrinfo|
begin
IO.copy_stream(sock, sock)
ensure
sock.close
end
}

# ス...
...注意
require 'socket'

Socket
.tcp_server_loop(16807) {|sock, client_addrinfo|
Thread.new {
begin
IO.copy_stream(sock, sock)
ensure
sock.close
end
}
}

内部的には Socket.tcp_server_sockets で
生成したソケットを Socket.accept_loop で処...
...理しています。

@param host 割り当てるホスト名
@param port 割り当てるポート番号
@see Socket.tcp_server_sockets, Socket.accept_loop...

Socket.tcp_server_sockets(host, port) -> [Socket] (58.0)

TCP/IP で host:port で待ち受けるサーバ側のソケットを 作成します。

...番号を持ちます。

require 'socket'

# tcp_server_sockets returns は2つのソケットを返す
socket
s = Socket.tcp_server_sockets(1296)
p sockets #=> [#<Socket:fd 3>, #<Socket:fd 4>]

# それぞれは IPv4 と IPv6 のソケット
socket
s.each {|s| p s.local_address }
#=>...
...
socket
s = Socket.tcp_server_sockets(0)
socket
s.each {|s| p s.local_address }
#=> #<Addrinfo: [::]:53114 TCP>
# #<Addrinfo: 0.0.0.0:53114 TCP>

# ブロックにソケットの配列が渡される
Socket
.tcp_server_sockets(0) {|sockets|
p sockets #=> [#<Socket:fd 3>, #<Socket:fd...
...4>]
}


@param host 割り当てるホスト名
@param port 割り当てるポート番号
@see Socket.tcp_server_loop...

絞り込み条件を変える

Socket.tcp_server_sockets(host, port) {|sockets| ...} -> object (58.0)

TCP/IP で host:port で待ち受けるサーバ側のソケットを 作成します。

...番号を持ちます。

require 'socket'

# tcp_server_sockets returns は2つのソケットを返す
socket
s = Socket.tcp_server_sockets(1296)
p sockets #=> [#<Socket:fd 3>, #<Socket:fd 4>]

# それぞれは IPv4 と IPv6 のソケット
socket
s.each {|s| p s.local_address }
#=>...
...
socket
s = Socket.tcp_server_sockets(0)
socket
s.each {|s| p s.local_address }
#=> #<Addrinfo: [::]:53114 TCP>
# #<Addrinfo: 0.0.0.0:53114 TCP>

# ブロックにソケットの配列が渡される
Socket
.tcp_server_sockets(0) {|sockets|
p sockets #=> [#<Socket:fd 3>, #<Socket:fd...
...4>]
}


@param host 割り当てるホスト名
@param port 割り当てるポート番号
@see Socket.tcp_server_loop...

Socket.tcp_server_sockets(port) -> [Socket] (58.0)

TCP/IP で host:port で待ち受けるサーバ側のソケットを 作成します。

...番号を持ちます。

require 'socket'

# tcp_server_sockets returns は2つのソケットを返す
socket
s = Socket.tcp_server_sockets(1296)
p sockets #=> [#<Socket:fd 3>, #<Socket:fd 4>]

# それぞれは IPv4 と IPv6 のソケット
socket
s.each {|s| p s.local_address }
#=>...
...
socket
s = Socket.tcp_server_sockets(0)
socket
s.each {|s| p s.local_address }
#=> #<Addrinfo: [::]:53114 TCP>
# #<Addrinfo: 0.0.0.0:53114 TCP>

# ブロックにソケットの配列が渡される
Socket
.tcp_server_sockets(0) {|sockets|
p sockets #=> [#<Socket:fd 3>, #<Socket:fd...
...4>]
}


@param host 割り当てるホスト名
@param port 割り当てるポート番号
@see Socket.tcp_server_loop...

Socket.tcp_server_sockets(port) {|sockets| ...} -> object (58.0)

TCP/IP で host:port で待ち受けるサーバ側のソケットを 作成します。

...番号を持ちます。

require 'socket'

# tcp_server_sockets returns は2つのソケットを返す
socket
s = Socket.tcp_server_sockets(1296)
p sockets #=> [#<Socket:fd 3>, #<Socket:fd 4>]

# それぞれは IPv4 と IPv6 のソケット
socket
s.each {|s| p s.local_address }
#=>...
...
socket
s = Socket.tcp_server_sockets(0)
socket
s.each {|s| p s.local_address }
#=> #<Addrinfo: [::]:53114 TCP>
# #<Addrinfo: 0.0.0.0:53114 TCP>

# ブロックにソケットの配列が渡される
Socket
.tcp_server_sockets(0) {|sockets|
p sockets #=> [#<Socket:fd 3>, #<Socket:fd...
...4>]
}


@param host 割り当てるホスト名
@param port 割り当てるポート番号
@see Socket.tcp_server_loop...

Addrinfo.new(sockaddr, family=Socket::PF_UNSPEC, socktype=0, protocol=0) -> Addrinfo (46.0)

新たな Addrinfo オブジェクトを返します。

...e, protocol
socket(2) のパラメータに対応します。

sockaddr には文字列もしくは配列を指定します。
配列の場合は IPSocket#addr や UNIXSocket#addr の
値と互換でなければなりません。
文字列の場合は Socket.sockaddr_in や
Socket
.unpack_sockadd...
...* ["AF_INET6", 42304, "ip6-localhost", "::1"]
* ["AF_UNIX", "/tmp/sock"]
* Socket.sockaddr_in("smtp", "2001:DB8::1")
* Socket.sockaddr_in(80, "172.18.22.42")
* Socket.sockaddr_in(80, "www.ruby-lang.org")
* Socket.sockaddr_un("/tmp/sock")

配列で AF_INET/AF_INET6 を指定した場合、...
... Socket::PF_INET のようなプロコルファミリーを指定します。
文字列やシンボル名を指定することができます(PF_ というプレフィクスは
省略することもできます)。例えば :INET, :INET6, :UNIX, "PF_INET" などです。

socktype は Socket::SO...

Socket.udp_server_sockets(host, port) -> [Sockets] (46.0)

UDP で host:port を待ち受けるサーバ側のソケットを作成します。

...はすべて同じ番号を持ちます。

# UDP/IP echo server
require 'socket'

Socket
.udp_server_sockets(0) {|sockets|
p sockets.first.local_address.ip_port #=> 32963
Socket
.udp_server_loop_on(sockets) {|msg, msg_src|
msg_src.reply msg
}
}

@param host 割り当て...

絞り込み条件を変える

Socket.udp_server_sockets(host, port) {|sockets| ... } -> object (46.0)

UDP で host:port を待ち受けるサーバ側のソケットを作成します。

...はすべて同じ番号を持ちます。

# UDP/IP echo server
require 'socket'

Socket
.udp_server_sockets(0) {|sockets|
p sockets.first.local_address.ip_port #=> 32963
Socket
.udp_server_loop_on(sockets) {|msg, msg_src|
msg_src.reply msg
}
}

@param host 割り当て...

Socket.udp_server_sockets(port) -> [Sockets] (46.0)

UDP で host:port を待ち受けるサーバ側のソケットを作成します。

...はすべて同じ番号を持ちます。

# UDP/IP echo server
require 'socket'

Socket
.udp_server_sockets(0) {|sockets|
p sockets.first.local_address.ip_port #=> 32963
Socket
.udp_server_loop_on(sockets) {|msg, msg_src|
msg_src.reply msg
}
}

@param host 割り当て...

Socket.udp_server_sockets(port) {|sockets| ... } -> object (46.0)

UDP で host:port を待ち受けるサーバ側のソケットを作成します。

...はすべて同じ番号を持ちます。

# UDP/IP echo server
require 'socket'

Socket
.udp_server_sockets(0) {|sockets|
p sockets.first.local_address.ip_port #=> 32963
Socket
.udp_server_loop_on(sockets) {|msg, msg_src|
msg_src.reply msg
}
}

@param host 割り当て...

Addrinfo.foreach(nodename, service, family=nil, socktype=nil, protocol=nil, flags=0) -> Enumerator (28.0)

Addrinfo.getaddrinfo で得られる配列の各要素を繰り返します。

Addrinfo.getaddrinfo で得られる配列の各要素を繰り返します。

ブロックを省略した場合は Enumerator を返します。

@param nodename ノード名文字列(ホスト名もしくは IP アドレス)
@param service サービス名(文字列もしくはポート番号の整数)
@param family プロトコルファミリー(整数、文字列、シンボル、もしくは nil)
@param socktype ソケットタイプ(整数、文字列、シンボル、もしくは nil)
@param protocol プロトコル(整数、もしくは nil)
@param flags フラグ(...

Addrinfo.foreach(nodename, service, family=nil, socktype=nil, protocol=nil, flags=0) {|addrinfo| ... } -> [Addrinfo] (28.0)

Addrinfo.getaddrinfo で得られる配列の各要素を繰り返します。

Addrinfo.getaddrinfo で得られる配列の各要素を繰り返します。

ブロックを省略した場合は Enumerator を返します。

@param nodename ノード名文字列(ホスト名もしくは IP アドレス)
@param service サービス名(文字列もしくはポート番号の整数)
@param family プロトコルファミリー(整数、文字列、シンボル、もしくは nil)
@param socktype ソケットタイプ(整数、文字列、シンボル、もしくは nil)
@param protocol プロトコル(整数、もしくは nil)
@param flags フラグ(...

絞り込み条件を変える

Addrinfo.getaddrinfo(nodename, service, family=nil, socktype=nil, protocol=nil, flags=0) -> [Addrinfo] (28.0)

パラメータから複数の Addrinfo オブジェクトを生成し、その配列を返します。

...場合には制限しないことを意味します。
IPv6 に制限したい場合には family に PF_INET6 を指定します。

flags には Socket::AI_??? という定数のビット OR を取ります。

アドレスの使い方がわかっている場合には socktype を明示すべき...
...フォームが存在します。512 のようなポート番号は
socktype なしでは曖昧な指定となるためです。

例:

require 'socket'

Addrinfo.getaddrinfo("www.kame.net", 80, nil, :STREAM)
#=> [#<Addrinfo: 203.178.141.194:80 TCP (www.kame.net:80)>,
# #<Addrinfo: [2001:...
...ケットタイプ(整数、文字列、シンボル、もしくは nil)
@param protocol プロトコル(整数、もしくは nil)
@param flags フラグ(整数)

@raise SocketError getaddrinfo(3)がエラーを返したときに発生する例外です
@see Addrinfo.foreach, Socket.getaddrinfo...

Addrinfo.tcp(host, port) -> Addrinfo (28.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 (28.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 ポート番号(整数)もし...

Socket.getifaddrs -> [Socket::Ifaddr] (28.0)

インターフェイスのアドレスを Socket::Ifaddr の配列で返します。

...スを Socket::Ifaddr の配列で返します。

本メソッドはマルチキャスト通信が可能なインターフェイスを見つけるために使う事ができます。

require 'socket'

pp Socket.getifaddrs.reject {|ifaddr|
!ifaddr.addr.ip? || (ifaddr.flags & Socket::IFF_MUL...
...nfo: fe80::216:3eff:fe95:88bb%eth0>]]

例(GNU/Linux):

require 'socket'

pp Socket.getifaddrs
#=> [#<Socket::Ifaddr lo UP,LOOPBACK,RUNNING,0x10000 PACKET[protocol=0 lo hatype=772 HOST hwaddr=00:00:00:00:00:00]>,
# #<Socket::Ifaddr eth0 UP,BROADCAST,RUNNING,MULTICAST,0x10000 PACKET[protoc...
...eth0 hatype=1 HOST hwaddr=ff:ff:ff:ff:ff:ff]>,
# #<Socket::Ifaddr sit0 NOARP PACKET[protocol=0 sit0 hatype=776 HOST hwaddr=00:00:00:00]>,
# #<Socket::Ifaddr lo UP,LOOPBACK,RUNNING,0x10000 127.0.0.1 netmask=255.0.0.0>,
# #<Socket::Ifaddr eth0 UP,BROADCAST,RUNNING,MULTICAST,0x10000 221...