るりまサーチ (Ruby 2.3.0)

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

別のキーワード

  1. openssl t61string
  2. asn1 t61string
  3. matrix t
  4. t61string new
  5. fiddle type_size_t

検索結果

<< 1 2 > >>

Socket::AncillaryData#timestamp -> Time (18682.0)

タイムスタンプ制御メッセージに含まれる時刻を 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'

Addrinfo.udp("127.0.0.1", 0).bind {|s...
...1|
Addrinfo.udp("127.0.0.1", 0).bind {|s2|
s1.setsockopt(:SOCKET, :TIMESTAMP, true)
s2.send "a", 0, s1.local_address
ctl = s1.recvmsg.last
p ctl
#=> #<Socket::AncillaryData: INET SOCKET TIMESTAMP 2009-02-24 17:35:46.775581>
t = ctl.timestamp
p t...
...00
p t.usec #=> 775581
p t.nsec #=> 775581000
}
}

@see Socket::Constants::SCM_TIMESTAMP,
Socket
::Constants::SCM_TIMESTAMPNS,
Socket
::Constants::SCM_BINTIME,
Socket
::Constants::SO_TIMESTAMP,
Socket
::Constants::SO_TIMESTAMPNS,
Socket
::Constants::SO_BINTIME...

Addrinfo#connect -> Socket (18610.0)

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

...す。

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

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

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

...す。

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

TCPServer#accept -> TCPSocket (18610.0)

クライアントからの接続要求を受け付け、接続した TCPSocket のインスタンスを返します。

...クライアントからの接続要求を受け付け、接続した
TCPSocket のインスタンスを返します。

例:

require 'socket'

TCPServer.open("", 0) {|serv|
c = TCPSocket.new(*serv.addr.values_at(3,1))
s = serv.accept
c.write "foo"
p s.recv(10) #=> "foo"
}...

UNIXServer#accept -> UnixSocket (18610.0)

クライアントからの接続要求を accept(2)で待ち受け、接続した UNIXSocket のインスタンスを返します。

...ライアントからの接続要求を accept(2)で待ち受け、接続した
UNIXSocket のインスタンスを返します。

例:

require 'socket'

UNIXServer.open("/tmp/s") {|serv|
c = UNIXSocket.open("/tmp/s")
s = serv.accept
s.write "from server"
c.write "from client"...

絞り込み条件を変える

Addrinfo#connect_from(host, port) -> Socket (18310.0)

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

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

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

require 'socket'

Addrinfo.tcp("www.ruby-lang.org", 80).connect_from("0.0.0.0", 4649) {|s|
s.print "GET / HTTP/1.0\r\nHost: www.ruby-lang.org\r\n\r\n"
puts s.read
}

@param host ホスト(IP アドレ...

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

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

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

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

require 'socket'

Addrinfo.tcp("www.ruby-lang.org", 80).connect_from("0.0.0.0", 4649) {|s|
s.print "GET / HTTP/1.0\r\nHost: www.ruby-lang.org\r\n\r\n"
puts s.read
}

@param host ホスト(IP アドレ...

Addrinfo#connect_to(host, port) -> Socket (18310.0)

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

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

@param host ホス...

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

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

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

@param host ホス...

Addrinfo#getnameinfo(flags=0) -> [String, String] (18310.0)

ノード名とサービスを文字列の配列で返します。

... 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 SocketEr...
...ror getnameinfo(3) がエラーを起こした場合に生じる例外

@see Socket.getnameinfo...

絞り込み条件を変える

Addrinfo#inspect_sockaddr -> String (18310.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_so...

Addrinfo#ip_port -> Integer (18310.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#ipv4_multicast? -> bool (18310.0)

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

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

Addrinfo#ipv4_private? -> bool (18310.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_sitelocal? -> bool (18310.0)

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

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

絞り込み条件を変える

Addrinfo#ipv6_multicast? -> bool (18310.0)

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

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

Addrinfo#ipv6_sitelocal? -> bool (18310.0)

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

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

Addrinfo#ipv6_to_ipv4 -> Addrinfo|nil (18310.0)

IPv6 の v4 マップド/互換アドレスを 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#ipv6_v4compat? -> bool (18310.0)

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

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

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

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

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

@param backlog バ...

絞り込み条件を変える

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

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

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

@param backlog バ...

Addrinfo#protocol -> Integer (18310.0)

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

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

require 'socket'

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

Addrinfo#socktype -> Integer (18310.0)

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

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

require 'socket'

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

Addrinfo#to_s -> String (18310.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 (18310.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 (18310.0)

Unix domain socket の path を文字列で返します。

...Unix domain socket の path を文字列で返します。

require 'socket'

Addrinfo.unix("/tmp/sock").unix_path #=> "/tmp/sock"

@raise SocketError アドレスが Unix domain socket のものでない場合に発生します...

BasicSocket#connect_address -> Addrinfo (18310.0)

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

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

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

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

require 'socket'

Addrinfo.tcp("0.0.0.0", 0).listen {|serv|
p serv.connect_address #=> #...
...<Addrinfo: 127.0.0.1:53660 TCP>
serv.connect_address.connect {|c|
s, _ = serv.accept
p [c, s] #=> [#<Socket:fd 4>, #<Socket:fd 6>]
}
}


@raise SocketError アドレスが接続に不適な場合に返します
@see BasicSocket#local_address...

BasicSocket#do_not_reverse_lookup -> bool (18310.0)

ソケットごとのアドレスからホスト名への逆引きの設定を返します。

...きの
BasicSocket.do_not_reverse_lookup の値になります。

require 'socket'

BasicSocket.do_not_reverse_lookup = false
TCPSocket.open("www.ruby-lang.org", 80) {|sock|
p sock.do_not_reverse_lookup # => false
}
BasicSocket.do_not_reverse_lookup = true
TCPSocket.open("www.r...
...uby-lang.org", 80) {|sock|
p sock.do_not_reverse_lookup # => true
}

@see BasicSocket#do_not_reverse_lookup=...

BasicSocket#do_not_reverse_lookup=(bool) (18310.0)

アドレスからホスト名への逆引きの設定をソケットごとに設定します。

...アドレスからホスト名への逆引きの設定をソケットごとに設定します。

@param bool この値が真ならアドレスからホスト名への逆引きを行わなくなります。
@see BasicSocket#do_not_reverse_lookup...

BasicSocket#getpeereid -> [Integer, Integer] (18310.0)

Unix ドメインソケットにおいて接続相手の euid と egid を 返します。

..., 2番目の要素が egid です。

ソケットが Unix ドメインソケットでない場合の返り値は
不定です。

require 'socket'

Socket
.unix_server_loop("/tmp/sock") {|s|
begin
euid, egid = s.getpeereid

# Check the connected client is myself or not....

絞り込み条件を変える

BasicSocket#getpeername -> String (18310.0)

接続の相手先のソケットの情報を取得します。sockaddr 構造体をパッ クした文字列を返します。getpeername(2) を参照してください。

...い。

例:

require 'socket'

serv = TCPServer.open("", 0)
c = TCPSocket.open(*Socket.unpack_sockaddr_in(serv.getsockname).reverse)
s = serv.accept
addr = c.getpeername
p addr #=> "\002\000\267\214\177\000\000\001\000\000\000\000\000\000\000\000"
p Socket.unpack_sockaddr_in(addr...

BasicSocket#getsockname -> String (18310.0)

ソケットの情報を取得します。sockaddr 構造体をパックした 文字列を返します。getsockname(2) を参照してください。

...ださい。

例:

require 'socket'

serv = TCPServer.open("", 0)
p serv.getsockname #=> "\002\000\236C\000\000\000\000\000\000\000\000\000\000\000\000"
p Socket.unpack_sockaddr_in(serv.getsockname) #=> [40515, "0.0.0.0"]
c = TCPSocket.open(*Socket.unpack_sockaddr_in(serv.getso...

BasicSocket#getsockopt(level, optname) -> Socket::Option (18310.0)

ソケットのオプションを取得します。getsockopt(2) を参照してください。 取得したオプションのデータを Socket::Option で返します。

...ください。
取得したオプションのデータを Socket::Option で返します。

level, optname には Socket::SOL_SOCKET Socket::SO_REUSEADDR
といった整数値の他、文字列("SOL_SOCKET", prefixなしの "SOCKET")や
シンボル(:SO_REUSEADDR, :REUSEADDR)を用いるこ...
...@see BasicSocket#setsockopt

例:

require 'socket'

serv = Socket.tcp_server_sockets("", 0)[0]
c = serv.local_address.connect
s = serv.accept
opt = c.getsockopt(Socket::IPPROTO_TCP, Socket::TCP_NODELAY)
# c.getsockopt("TCP", "NODELAY"), なども可能
p opt #=> #<Socket::Option: I...
...NET TCP NODELAY 0>
p opt.bool #=> false (Nagle アルゴリズム有効)
p opt.unpack("i")[0] #=> 0 (Socket::Option#unpack が互換性のために存在する)
# 整数値の場合は Socket::Option#int を用いる
p c.getsockopt(:IP, :TTL).int #=> 64...

BasicSocket#remote_address -> Addrinfo (18310.0)

getpeername(2) で得られたリモートアドレス情報を Addrinfo オブジェクトとして返します。

...返すことに注意してください。

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 = TCPSocket.new("127.0.0.1", 1728)
s = serv.accept
p s.remote...
..._address #=> #<Addrinfo: 127.0.0.1:36504 TCP>
}

@see BasicSocket#getpeername...

BasicSocket#setsockopt(level, optname, optval) -> 0 (18310.0)

ソケットのオプションを設定します。setsockopt(2) を参照してください。

...を設定します。setsockopt(2)
を参照してください。

level, optname には Socket::SOL_SOCKET Socket::SO_REUSEADDR
といった整数値の他、文字列("SOL_SOCKET", prefixなしの "SOCKET")や
シンボル(:SO_REUSEADDR, :REUSEADDR)を用いることができます。

optval...
... Socket::Option で設定値を表現します。

require 'socket'

# 真偽値の場合
#setsockopt could be called like this:
sock.setsockopt(:SOCKET, :REUSEADDR, true)
sock.setsockopt(Socket::SOL_SOCKET,Socket::SO_REUSEADDR, true)
sock.setsockopt(Socket::Option.bool(:INET, :SOCKET,...
...etsockopt(Socket::IPPROTO_IP, Socket::IP_TTL, 255)
sock.setsockopt(Socket::Option.int(:INET, :IP, :TTL, 255))

# より複雑な場合
optval = IPAddr.new("224.0.0.251").hton +
IPAddr.new(Socket::INADDR_ANY, Socket::AF_INET).hton
sock.setsockopt(Socket::IPPROTO_IP, Socket::IP_ADD_...

絞り込み条件を変える

BasicSocket#setsockopt(socketoption) -> 0 (18310.0)

ソケットのオプションを設定します。setsockopt(2) を参照してください。

...を設定します。setsockopt(2)
を参照してください。

level, optname には Socket::SOL_SOCKET Socket::SO_REUSEADDR
といった整数値の他、文字列("SOL_SOCKET", prefixなしの "SOCKET")や
シンボル(:SO_REUSEADDR, :REUSEADDR)を用いることができます。

optval...
... Socket::Option で設定値を表現します。

require 'socket'

# 真偽値の場合
#setsockopt could be called like this:
sock.setsockopt(:SOCKET, :REUSEADDR, true)
sock.setsockopt(Socket::SOL_SOCKET,Socket::SO_REUSEADDR, true)
sock.setsockopt(Socket::Option.bool(:INET, :SOCKET,...
...etsockopt(Socket::IPPROTO_IP, Socket::IP_TTL, 255)
sock.setsockopt(Socket::Option.int(:INET, :IP, :TTL, 255))

# より複雑な場合
optval = IPAddr.new("224.0.0.251").hton +
IPAddr.new(Socket::INADDR_ANY, Socket::AF_INET).hton
sock.setsockopt(Socket::IPPROTO_IP, Socket::IP_ADD_...

BasicSocket#shutdown(how = Socket::SHUT_RDWR) -> 0 (18310.0)

ソケットの以降の接続を終了させます。

...接続が終了します。

* Socket::SHUT_RD: それ以降の受信が拒否されます
* Socket::SHUT_WR: それ以降の送信が拒否されます
* Socket::SHUT_RDWR: それ以降の送信、受信ともに拒否されます

how を省略すると Socket::SHUT_RDWR を指定したこ...
...とになります。
shutdown(2) を参照してください。

@param how 接続の終了の仕方を Socket::SHUT_RD, Socket::SHUT_WR, Socket::SHUT_RDWR などで指定します。

@raise Errno::EXXX ソケットの以降の接続を終了操作が失敗した場合に発生します。
@raise...

Socket#accept -> Array (18310.0)

新しい接続を受け付けて、新しい接続に対するソケットとアドレスの ペアを返します。accept(2) を参照。

...、accept でクライアントからの接続を受け付けるには以下のようにします。

例:

require 'socket'

serv = Socket.new(Socket::AF_INET, Socket::SOCK_STREAM, 0)
sockaddr = Socket.sockaddr_in(8080, "0.0.0.0")
serv.bind(sockaddr)
serv.listen(5)
sock = serv.accept...

Socket#accept_nonblock -> Array (18310.0)

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

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

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

accept(2) がエラーになった場合、
EAGAIN, EINTR を含め例外 Errno::EXXX が発生します。...

Socket#connect(server_sockaddr) -> 0 (18310.0)

connect(2) でソケットを接続します。

...connect(2) でソケットを接続します。

server_sockaddr は、
lib:socket#pack_string
もしくは Addrinfo オブジェクト
です。

0 を返します。

@param server_sockaddr 接続先アドレス
@raise Errno::EXXX connect(2) がエラーを報告した場合に発生します。...
...、connect で www.ruby-lang.org:80 に接続するには以下のようにします。

例:

require 'socket'

s = Socket.new(Socket::AF_INET, Socket::SOCK_STREAM, 0)
sockaddr = Socket.sockaddr_in(80, "www.ruby-lang.org")
s.connect(sockaddr)
s.write "GET / HTTP/1.0\r\n\r\n"
print s.rea...

絞り込み条件を変える

Socket#connect_nonblock(server_sockaddr) -> 0 (18310.0)

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

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

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

connect が EINPROGRESS エラーを報告した場合、その例外(Errno::EINPROGRESS)
には IO::WaitWritable が Object#extend さ...
...eb page
require 'socket'
include Socket::Constants
socket
= Socket.new(AF_INET, SOCK_STREAM, 0)
sockaddr = Socket.sockaddr_in(80, 'www.google.com')
begin # emulate blocking connect
socket
.connect_nonblock(sockaddr)
rescue IO::WaitWritable
IO.select(nil, [socket]) # wait 3-way han...
...dshake completion
begin
socket
.connect_nonblock(sockaddr) # check connection failure
rescue Errno::EISCONN
end
end
socket
.write("GET / HTTP/1.0\r\n\r\n")
results = socket.read



@param server_sockaddr 接続先アドレス
@raise Errno::EXXX connect(2) がエラーを報告...

Socket#listen(backlog) -> 0 (18310.0)

listen(2) と同じ働きをします。

listen(2) と同じ働きをします。

0 を返します。

@param backlog 接続を保留できる最大数

@return 0 を返します。

Socket#sysaccept -> Array (18310.0)

接続したクライアントのファイル記述子とアドレスのペアを返すことを除 けば Socket#accept と同じです。

...接続したクライアントのファイル記述子とアドレスのペアを返すことを除
けば Socket#accept と同じです。...

Socket::AncillaryData#data -> String (18310.0)

自身が保持している cmsg data (データ) を返します。

...自身が保持している cmsg data (データ) を返します。

require 'socket'

p Socket::AncillaryData.new(:INET6, :IPV6, :PKTINFO, "").type
#=> ""

@see Socket::AncillaryData.new...

Socket::AncillaryData#int -> Integer (18310.0)

自身が保持している cmsg data (データ) を整数の形で返します。

...異なります。

require 'socket'

ancdata = Socket::AncillaryData.int(:UNIX, :SOCKET, :RIGHTS, STDERR.fileno)
p ancdata.int #=> 2

@raise TypeError cmgs data のサイズが int のバイト数と異なる場合に発生します
@see Socket::AncillaryData.new Socket::AncillaryData.int...

絞り込み条件を変える

Socket::AncillaryData#ip_pktinfo -> [Addrinfo, Integer, Addrinfo] (18310.0)

自身の type が IP_PKTINFO である場合、保持しているデータ (アドレス、インターフェースのインデックス、ローカルアドレス) を3要素の配列で返します。

...張であり、システムによっては使えない場合があります。

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, spec_dest)
p ancdata.ip_pktinfo
#=> [#<Addrinfo:...
...127.0.0.1>, 0, #<Addrinfo: 127.0.0.1>]

@raise TypeError level, type が IPPROTO_IP, IP_PKTINFO でない場合に
発生します。
@see Socket::AncillaryData.ip_pktinfo,
Socket
::Constants::IP_PKTINFO...

Socket::AncillaryData#ipv6_pktinfo -> [Addrinfo, Integer] (18310.0)

自身の type が IPV6_PKTINFO である場合、保持しているデータ (アドレス、インターフェースのインデックス) を2要素の配列で返します。

...

require 'socket'

addr = Addrinfo.ip("::1")
ifindex = 0
ancdata = Socket::AncillaryData.ipv6_pktinfo(addr, ifindex)
p ancdata.ipv6_pktinfo #=> [#<Addrinfo: ::1>, 0]

@see Socket::AncillaryData.ipv6_pktinfo,
Socket
::AncillaryData#ipv6_pktinfo_addr,
Socket
::AncillaryData#ipv...
...6_pktinfo_ifindex,
Socket
::Constants::IPV6_PKTINFO...

Socket::AncillaryData#ipv6_pktinfo_addr -> Addrinfo (18310.0)

自身の 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,
Socket
::AncillaryData#ipv6_pktinfo,
Socket
::AncillaryData#ipv6_...

Socket::AncillaryData#ipv6_pktinfo_ifindex -> Integer (18310.0)

自身の type が IPV6_PKTINFO である場合、保持しているデータ (アドレス、インターフェースのインデックス) のインデックスを返します。

...e '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
::AncillaryData#ipv6_pktinfo,
Socket
::AncillaryData#ipv6_pktinfo_addr,
Socket
::C...

Socket::AncillaryData#type -> Integer (18310.0)

自身が保持している cmsg type (種類) を返します。

...自身が保持している cmsg type (種類) を返します。

require 'socket'

p Socket::AncillaryData.new(:INET6, :IPV6, :PKTINFO, "").type
#=> 2

@see Socket::AncillaryData.new...

絞り込み条件を変える

Socket::AncillaryData#unix_rights -> [IO] | nil (18310.0)

Unix domain socket の SCM_RIGHTS 制御メッセージに含まれる ファイルディスクリプタを IO オブジェクトの配列として返します。

...Unix domain socket の SCM_RIGHTS 制御メッセージに含まれる
ファイルディスクリプタを IO オブジェクトの配列として返します。

得られる IO オブジェクトか IO か Socket です。

この配列は Socket::AncillaryData が初期化されたときに
...
...られます。例えば BasicSocket#recvmsg を :scm_rights => true
オプションを付けて呼びだし、
SCM_RIGHTS な 制御メッセージを受け取ったときに配列が作られます。
適切なオプションを指定しなかった場合は配列は生成されず、
このメ...
...ッドは nil を返します。

require 'socket'

# recvmsg needs :scm_rights=>true for unix_rights
s1, s2 = UNIXSocket.pair
p s1 #=> #<UNIXSocket:fd 3>
s1.sendmsg "stdin and a socket", 0, nil, Socket::AncillaryData.unix_rights(STDIN, s1)
_, _, _...

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

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

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

Socket::Ifaddr#inspect -> String (18310.0)

self の情報を人間に読みやすい文字列にして返します。

self の情報を人間に読みやすい文字列にして返します。

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

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

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

Socket::Option#data -> String (18310.0)

オプションのデータ(内容)を文字列で返します。

...のデータ(内容)を文字列で返します。

内容が整数や真偽値、もしくは struct linger であることがわかっている場合には、
Socket
::Option#int, Socket::Option#bool, Socket::Option#linger
を用いて

to_s は過去との互換性のために存在します。...

絞り込み条件を変える

Socket::Option#int -> Integer (18310.0)

オプションのデータ(内容)を整数に変換して返します。

...オプションのデータ(内容)を整数に変換して返します。

@raise TypeError dataのバイト数が不適切である(sizeof(int)と異なる)場合に発生します
@see Socket::Option#data...

Socket::Option#optname -> Integer (18310.0)

ソケットのオプション名を表す整数を返します。

ソケットのオプション名を表す整数を返します。

Socket::Option#to_s -> String (18310.0)

オプションのデータ(内容)を文字列で返します。

...のデータ(内容)を文字列で返します。

内容が整数や真偽値、もしくは struct linger であることがわかっている場合には、
Socket
::Option#int, Socket::Option#bool, Socket::Option#linger
を用いて

to_s は過去との互換性のために存在します。...

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

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

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

TCPServer#accept_nonblock -> TCPSocket (18310.0)

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

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

返り値は TCPServer#accept と同じです。

accept(2) がエラーになった場合、
EAGAIN, EINTR を含め例外 Errno::EXXX が発生します。

@raise Errno::EXXX accept(2) がエラーになった場合に発生します。

絞り込み条件を変える

TCPServer#listen(backlog) -> 0 (18310.0)

listen(2) を実行します。 (Socket#listenと同じ)

...listen(2) を実行します。
(Socket#listenと同じ)

backlog は、クライアントからの接続要求を保留できる数です。

listen(2) が成功すれば 0 を返します。
失敗すれば 例外 Errno::EXXX が発生します。

@param backlog backlog は、クライアント...

TCPServer#sysaccept -> Integer (18310.0)

接続したクライアントのソケットをファイル記述子で返すことを除けば TCPServer#accept と同じです。

...接続したクライアントのソケットをファイル記述子で返すことを除けば
TCPServer#accept と同じです。

例:

require 'socket'

TCPServer.open("", 0) {|serv|
c = TCPSocket.new(*serv.addr.values_at(3,1))
p serv.sysaccept #=> 6
}...

UDPSocket#connect(host, port) -> 0 (18310.0)

ソケットを host の port に connect(2) します。

...UDPSocket#send で送り先のアドレスを指定せずに
データを送ることができます(connect しなくとも送り先のアドレスを明示すれば
データを送ることができます)。

require 'socket'

u1 = UDPSocket.new
u1.bind("127.0.0.1", 4913)
u2 = UDPSocket.n...

UNIXServer#accept_nonblock -> UnixSocket (18310.0)

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

...ブロッキングモードに設定した後、
accept(2) を呼び出します。

接続した
UNIXSocket のインスタンスを返します。

accept(2) がエラーになった場合、Socket#accept と同じ例外が
発生します。

Errno::EWOULDBLOCK, Errno::EAGAIN,
Errno::ECONNABORTE...
...を掴まえることができます。

require 'socket'
serv = UNIXServer.new("/tmp/sock")
begin # emulate blocking accept
sock = serv.accept_nonblock
rescue IO::WaitReadable, Errno::EINTR
IO.select([serv])
retry
end
# sock is an accepted socket.

@see UNIXServer#accept...

UNIXServer#listen(backlog) -> 0 (18310.0)

listen(2) を実行します。 (Socket#listenと同じ)

...listen(2) を実行します。
(Socket#listenと同じ)

backlog は、クライアントからの接続要求を保留できる数です。

listen(2) が成功すれば 0 を返します。
失敗すれば 例外 Errno::EXXX が発生します。

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

絞り込み条件を変える

UNIXServer#sysaccept -> Integer (18310.0)

接続したクライアントのソケットをファイル記述子で返すことを除けば UNIXServer#accept と同じです。

...接続したクライアントのソケットをファイル記述子で返すことを除けば
UNIXServer#accept と同じです。

例:

require 'socket'

UNIXServer.open("/tmp/s") {|serv|
c = UNIXSocket.open("/tmp/s")
p serv.sysaccept #=> 6
}...

UNIXSocket#path -> String (18310.0)

UNIX ソケットのパスを返します。

...UNIX ソケットのパスを返します。

クライアント側はパスを持たないため空文字列となります。

例:

require 'socket'

UNIXServer.open("/tmp/s") {|serv|
p serv.path #=> "/tmp/s"
}...

UNIXSocket#recvfrom(maxlen, flags = 0) -> [String [String, String]] (9910.0)

recvfrom(2) を用いてソケットからメッセージを受け取ります。

...数で指定します。

flags には Socket::MSG_* という名前の定数の bitwise OR を渡します。

戻り値は文字列と相手ソケットのパスのペアです。

例:

require 'socket'

UNIXServer.open("/tmp/s") {|serv|
c = UNIXSocket.open("/tmp/s")
s = serv.accept...

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

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

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

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

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

opts にはその他のオプションを渡します。今のところ :scm_right => bool
...
...します。詳しくは Socket::AncillaryData#unix_rights
を参照してください。

返り値は配列で得られます。

返り値の配列の最初の要素は受け取ったメッセージを表す文字列です。

2番目の要素は connection-less socket の場合には送り元の...

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

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

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

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

@param maxmesglen 受け取るメッセージの最大長
@param flags...

絞り込み条件を変える

Socket::Option#unpack(template) -> Array (9610.0)

data に対し String#unpack を呼び出し、その結果を返します。

data に対し String#unpack を呼び出し、その結果を返します。

このメソッドは過去との互換性のために存在します。

UNIXSocket#addr -> [String, String] (9610.0)

ソケットの接続情報を表す配列を返します。配列の各要素は第1要 素が文字列 "AF_UNIX"、第2要素がパスを表す文字列です。

...す。
例:

require 'socket'

UNIXServer.open("/tmp/s") {|serv|
p serv.addr #=> ["AF_UNIX", "/tmp/s"]
}

UNIXServer.open("/tmp/s") {|serv|
c = UNIXSocket.open("/tmp/s")
p c.peeraddr #=> ["AF_UNIX", "/tmp/s"]
p c.addr #=> ["AF_UNIX", ""]
}

@see UNIXSocket#peeraddr...

UNIXSocket#peeraddr -> [String, String] (9610.0)

接続相手先ソケットの情報を表す配列を返します。配列の各要素は第1要 素が文字列 "AF_UNIX"、第2要素がパスを表す文字列です。

...各要素は第1要
素が文字列 "AF_UNIX"、第2要素がパスを表す文字列です。

例:

require 'socket'

UNIXServer.open("/tmp/s") {|serv|
c = UNIXSocket.open("/tmp/s")
p c.peeraddr #=> ["AF_UNIX", "/tmp/s"]
p c.addr #=> ["AF_UNIX", ""]
}

@see UNIXSocket#addr...

BasicSocket#recv(maxlen, flags = 0) -> String (9310.0)

ソケットからデータを受け取り、文字列として返します。 maxlen は受け取る最大の長さを指定します。 flags については recv(2) を参照してください。flags の デフォルト値は 0 です。flags の指定に必要な定数は Socket クラスで定義されています。(例: Socket::MSG_PEEK)

...は recv(2) を参照してください。flags の
デフォルト値は 0 です。flags の指定に必要な定数は
Socket
クラスで定義されています。(例: Socket::MSG_PEEK)

内部で呼び出す recv(2) が 0 を返した場合、このメソッドは "" を返します。
この...
...@raise Errno::EXXX recvfrom(2) がエラーになった場合などに発生します。

例:

require 'socket'

s1, s2 = UNIXSocket.pair
s1.write "a"
s1.close
p s2.recv(10, Socket::MSG_PEEK) #=> "a"
p s2.recv(10) #=> "a"
p s2.recv(10) #=> ""...

BasicSocket#recv_nonblock(maxlen, flags = 0) -> String (9310.0)

ソケットをノンブロッキングモードに設定した後、 recvfrom(2) でソケットからデータを受け取ります。

...ンブロッキングモードに設定した後、
recvfrom(2) でソケットからデータを受け取ります。

引数、返り値は BasicSocket#recv と同じです。

recvfrom(2) がエラーになった場合、
EAGAIN, EINTR を含め例外 Errno::EXXX が発生します。

@param max...

絞り込み条件を変える

BasicSocket#send(mesg, flags, dest_sockaddr = nil) -> Integer (9310.0)

ソケットを介してデータを送ります。flags に関しては send(2) を参照してください。connect していないソケット に対しては送り先である dest_sockaddr を指定する必要があります。実際に送っ たデータの長さを返します。

...レス構造体を pack した文字列」を指定します。

@raise Errno::EXXX データの送信に失敗した場合に発生します。

例:

require 'socket'

s = UDPSocket.new
sockaddr = Socket.sockaddr_in("discard", "localhost")
s.send("The king has donkey ears!", 0, sockaddr)...

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

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

...ンブロッキング方式で通信したい
場合は BasicSocket#sendmsg_nonblock を用います。

ソケットが connection-less の場合は dest_sockaddr で
通信先のアドレスを指定しなければなりません。Socket.sockaddr_in
の返り値や Addrinfo オブジェクトを...
...ます。
Socket
::AncillaryData のインスタンスや
3要素(cmsg_level, cmsg_type, cmsg_data) の配列を用いることができます。

送ったバイト数を返します。

# UnixSocket#send_io の実装例
# use Socket::AncillaryData.
require 'socket'

ancdata = Socket::Ancill...
...aryData.int(:UNIX, :SOCKET, :RIGHTS, io.fileno)
sock.sendmsg("a", 0, nil, ancdata)

# use 3-element array.
ancdata = [:SOCKET, :RIGHTS, [io.fileno].pack("i!")]
sock.sendmsg("\0", 0, nil, ancdata)


@param mesg メッセージ文字列
@param flags フラグ(Socket::MSG_* という定数の...

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

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

...cSocket#sendmsg を見てください。

@return 送ったバイト数
@param mesg メッセージ文字列
@param flags フラグ(Socket::MSG_* という定数の bitwise OR を取ったもの)
@param dest_sockaddr 通信先のアドレス
@param controls 補助データの配列
@see BasicSocket#...

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

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

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

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

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

require 'socket'

s1 = Socket.new(Socket::AF_INET, Socket::SOCK_DGRAM, 0)
s2 = Socket.new(Socket::AF_INET, Socket::SOCK_DGRAM, 0)
s1.bind(Socket.sockaddr_in(0, "0.0.0.0"))
s2.send("foo", 0, s1.getsockname)
mesg, sockaddr...
...= s1.recvfrom(10)
p mesg #=> "foo"
p sockaddr #=> "\002\000\200r\177\000\000\001\000\000\000\000\000\000\000\000"
p Socket.unpack_sockaddr_in(sockaddr) #=> [32882, "127.0.0.1"]...

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

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

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

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

recvfrom(2) がエラーになった場合、
EAGAIN, EINTR を含め例外 Errno::EXXX が発生します。
Errno::EWOULDBLOCK、Er...

絞り込み条件を変える

Socket::AncillaryData#cmsg_is?(level, type) -> bool (9310.0)

自身の level と type が引数のものと一致している場合に真を返します。

...require 'socket'

ancdata = Socket::AncillaryData.new(:INET6, :IPV6, :PKTINFO, "")
ancdata.cmsg_is?(Socket::IPPROTO_IPV6, Socket::IPV6_PKTINFO) #=> true
ancdata.cmsg_is?(:IPV6, :PKTINFO) #=> true
ancdata.cmsg_is?(:IP, :PKTINFO) #=> false
ancdata.cmsg_is?(:SOCKET, :RIGHTS)...
...#=> false

@param level 一致を確認する cmsg_level (文字列、シンボル、整数)
@param type 一致を確認する cmsg_type (文字列、シンボル、整数)
@see Socket::AncillaryData#level, Socket::AncillaryData#type...

Socket::AncillaryData#family -> Integer (9310.0)

自身が保持している socket family を返します。

...自身が保持している socket family を返します。

require 'socket'

p Socket::AncillaryData.new(:INET6, :IPV6, :PKTINFO, "").family
#=> 10

@see Socket::AncillaryData.new...

Socket::AncillaryData#level -> Integer (9310.0)

自身が保持している cmsg level (元プロトコル) を返します。

...自身が保持している cmsg level (元プロトコル) を返します。

require 'socket'

p Socket::AncillaryData.new(:INET6, :IPV6, :PKTINFO, "").level
#=> 41

@see Socket::AncillaryData.new...

Socket::Ifaddr#flags -> Integer (9310.0)

self に指定された flags の値を返します。

self に指定された flags の値を返します。

Socket::Ifaddr#ifindex -> Integer (9310.0)

self のインターフェイスのインデックスを返します。

self のインターフェイスのインデックスを返します。

絞り込み条件を変える

Socket::Ifaddr#name -> String (9310.0)

self のインターフェイス名を返します。

self のインターフェイス名を返します。

Socket::Option#family -> Integer (9310.0)

ソケットファミリを表す整数を返します。

ソケットファミリを表す整数を返します。

Socket::Option#level -> Integer (9310.0)

ソケットオプションレベルを表す整数を返します。

ソケットオプションレベルを表す整数を返します。

Socket::Option#linger -> [bool, Integer] (9310.0)

オプションが SOL_SOCKET/SO_LINGER である場合に、 オプションのデータ(内容)を真偽値と整数のペアとして返します。

...が SOL_SOCKET/SO_LINGER である場合に、
オプションのデータ(内容)を真偽値と整数のペアとして返します。

@raise TypeError dataのバイト数が不適切である(sizeof(struct linger)と異なる)場合や、
level/optname が SOL_SOCKET/SO_LINGER...
...でないに発生します
@see Socket::Option#data...

UDPSocket#bind(host, port) -> 0 (9310.0)

ソケットを host の port に bind(2) します。

...ソケットを host の port に bind(2) します。

bind したポートから Socket#recv でデータを受け取ることができます。

@param host bind するホスト名文字列
@param port bind するポート番号...

絞り込み条件を変える

UDPSocket#recvfrom_nonblock(maxlen, flags=0) -> [String, Array] (9310.0)

ソケットをノンブロッキングモードに設定した後、 recvfrom(2) でソケットからデータを受け取ります。

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

maxlen で受け取るデータの最大バイト数を指定します。

flags はフラグで、Socket::MSG_* の bitwise OR を渡します。
詳しくは recvfrom(2) を参照してください。

返り値はデータの文字列と送り元の...
...可能であることを意味する例外には、IO::WaitReadable が extend
されています。

require 'socket'
s1 = UDPSocket.new
s1.bind("127.0.0.1", 0)
s2 = UDPSocket.new
s2.bind("127.0.0.1", 0)
s2.connect(*s1.addr.values_at(3,1))
s1.connect(*s2.addr.values_at(3,1))
s1.sen...
...emulate blocking recvfrom
p s2.recvfrom_nonblock(10)
#=> ["aaa", ["AF_INET", 33302, "localhost.localdomain", "127.0.0.1"]]
rescue IO::WaitReadable
IO.select([s2])
retry
end

@param maxlen 受け取るデータの最大バイト数
@param flags フラグ
@see IPSocket#recvfrom...

UDPSocket#send(mesg, flags) -> Integer (9310.0)

UDP ソケットを介してデータを送ります。

...ります。

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

host, port の対、もしくは sockaddr_to で送り先を指定します。
送り先を省略した場合は UDPSocket#connect で接続した
...
...sockaddr_to にはlib:socket#pack_string もしくは
Addrinfo オブジェクトを指定します。

host, port に関しては lib:socket#host_format、
lib:socket#service_formatを参照してください。

2 引数、3 引数の形式の場合の動作は、
BasicSocket#send と同じです...

UDPSocket#send(mesg, flags, host, port) -> Integer (9310.0)

UDP ソケットを介してデータを送ります。

...ります。

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

host, port の対、もしくは sockaddr_to で送り先を指定します。
送り先を省略した場合は UDPSocket#connect で接続した
...
...sockaddr_to にはlib:socket#pack_string もしくは
Addrinfo オブジェクトを指定します。

host, port に関しては lib:socket#host_format、
lib:socket#service_formatを参照してください。

2 引数、3 引数の形式の場合の動作は、
BasicSocket#send と同じです...

UDPSocket#send(mesg, flags, sockaddr_to) -> Integer (9310.0)

UDP ソケットを介してデータを送ります。

...ります。

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

host, port の対、もしくは sockaddr_to で送り先を指定します。
送り先を省略した場合は UDPSocket#connect で接続した
...
...sockaddr_to にはlib:socket#pack_string もしくは
Addrinfo オブジェクトを指定します。

host, port に関しては lib:socket#host_format、
lib:socket#service_formatを参照してください。

2 引数、3 引数の形式の場合の動作は、
BasicSocket#send と同じです...

UNIXSocket#recv_io(klass=IO, mode=nil) -> Integer|IO|object (9310.0)

ソケットの接続先からファイルディスクリプタを受け取ります。

...ます。

klass が nil でない場合、
klass.for_fd(fd[, mode]) が呼ばれ、その値が返されます。

例:

require 'socket'

s1, s2 = UNIXSocket.pair
s1.send_io STDOUT
io = s2.recv_io
p File.identical?(io, STDOUT) #=> true

@param klass 受け取ったファイルディ...

絞り込み条件を変える

BasicSocket#local_address -> Addrinfo (9010.0)

getsockname(2) で得られたローカルアドレス情報を Addrinfo オブジェクトとして返します。

...してください。

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.local_address #=> #<Addrinfo: 127.0.0.1:1512 TCP>
}

@see BasicSocket#getsockname...

IPSocket#addr -> Array (9010.0)

ソケットの接続情報を表す配列を返します。配列の各要素は第1要 素が文字列 "AF_INET", "AF_INET6" など、第2要素が port 番号、第3要素がホストを表 す文字列、第4要素がホストの IP アドレスを表す文字列 (octet decimal や hexadecimal) です。

...Errno::EXXX getsockname(2) が 0 未満の値を返した場合に発生します。

例:

require 'socket'

serv = TCPServer.new("localhost", 0)
p serv.addr #=> ["AF_INET", 46102, "localhost.localdomain", "127.0.0.1"]
c = TCPSocket.new(*serv.addr.values_at(3,1))
s = serv.accept...

IPSocket#peeraddr -> Array (9010.0)

接続相手先ソケットの情報を表す配列を返します。配列の各要素は IPSocket#addr メソッドが返す配列 と同じです。

...表す配列を返します。配列の各要素は
IPSocket#addr メソッドが返す配列
と同じです。

@raise Errno::EXXX getpeername(2) が 0 未満の値を返した場合に発生します。

例:

require 'socket'

TCPSocket.open("localhost", "http") {|s|
p s.peeraddr #=>...

IPSocket#recvfrom(maxlen, flags = 0) -> Array (9010.0)

recv と同様にソケットからデータを受け取りますが、 戻り値は文字列と相手ソケットのアドレス (形式は IPSocket#addr 参照) のペアです。引数につ いては BasicSocket#recv と同様です。

...からデータを受け取りますが、
戻り値は文字列と相手ソケットのアドレス (形式は
IPSocket#addr 参照) のペアです。引数につ
いては BasicSocket#recv と同様です。

@param maxlen 受け取る文字列の最大の長さを指定します。

@param flags...
...X recvfrom(2) がエラーになった場合などに発生します。

例:

require 'socket'

s1 = UDPSocket.new
s1.bind("0.0.0.0", 0) # 適当に空いている port を割り当てる
s2 = UDPSocket.new
s2.send("foo", 0, s1.getsockname)
mesg, inet_addr = s1.recvfrom(100)
p mesg...

SOCKSSocket#close -> nil (9010.0)

ソケットを閉じます。

ソケットを閉じます。

絞り込み条件を変える

<< 1 2 > >>