ライブラリ
-
cgi
/ core (1) -
drb
/ acl (1) - ipaddr (34)
-
net
/ http (4) -
net
/ imap (10) -
net
/ pop (1) -
net
/ smtp (9) - openssl (2)
- resolv (24)
- resolv-replace (1)
- socket (84)
- un (1)
-
webrick
/ httprequest (2) -
webrick
/ server (1)
クラス
- ACL (1)
- Addrinfo (46)
- BasicSocket (9)
- IPAddr (34)
- IPSocket (3)
-
Net
:: HTTP (4) -
Net
:: IMAP :: Address (4) -
Net
:: IMAP :: Envelope (6) -
Net
:: POP3 (1) -
Net
:: SMTP (9) - Resolv (6)
-
Resolv
:: DNS (6) -
Resolv
:: DNS :: Resource :: IN :: A (1) -
Resolv
:: DNS :: Resource :: IN :: AAAA (1) -
Resolv
:: DNS :: Resource :: IN :: WKS (1) -
Resolv
:: Hosts (6) -
Resolv
:: IPv4 (2) -
Resolv
:: IPv6 (1) - Socket (5)
-
Socket
:: AncillaryData (4) -
Socket
:: Ifaddr (9) -
Socket
:: UDPSource (2) - TCPServer (2)
- UDPSocket (3)
- UNIXSocket (2)
-
WEBrick
:: GenericServer (1) -
WEBrick
:: HTTPRequest (2)
モジュール
-
CGI
:: QueryExtension (1) - Kernel (1)
-
OpenSSL
:: SSL :: SocketForwarder (2)
キーワード
- & (1)
- << (1)
- <=> (1)
- == (1)
- === (1)
- >> (1)
- accept (1)
- address (8)
- afamily (1)
-
allow
_ addr? (1) - bcc (1)
- bind (3)
- broadaddr (1)
- canonname (1)
- cc (1)
- connect (3)
-
connect
_ address (1) -
connect
_ from (2) -
connect
_ nonblock (1) -
connect
_ to (2) - dstaddr (1)
-
each
_ address (3) -
each
_ name (3) - eql? (1)
- family (1)
-
family
_ addrinfo (2) - flags (1)
- from (1)
- getaddress (3)
- getaddresses (3)
- getname (3)
- getnameinfo (1)
- getnames (3)
- getpeername (1)
- hash (1)
- host (1)
- hton (1)
- httpd (1)
- ifindex (1)
- include? (1)
- inspect (2)
-
inspect
_ sockaddr (1) -
ip6
_ arpa (1) -
ip6
_ int (1) - ip? (1)
-
ip
_ address (1) -
ip
_ pktinfo (1) -
ip
_ port (1) -
ip
_ unpack (1) - ipv4? (2)
-
ipv4
_ compat (1) -
ipv4
_ compat? (1) -
ipv4
_ loopback? (1) -
ipv4
_ mapped (1) -
ipv4
_ mapped? (1) -
ipv4
_ multicast? (1) -
ipv4
_ private? (1) - ipv6? (2)
-
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 (1) -
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 (3)
-
local
_ address (2) - mailbox (1)
- mailfrom (1)
- mask (1)
- mask! (1)
- name (2)
- native (1)
- netmask (1)
- peeraddr (4)
- pfamily (1)
- prefix (1)
- prefix= (1)
- protocol (1)
-
proxy
_ address (1) -
proxy
_ address= (1) - proxyaddr (1)
- rcptto (1)
-
rcptto
_ list (1) - ready (1)
- recvfrom (2)
-
recvfrom
_ nonblock (2) - recvmsg (1)
-
recvmsg
_ nonblock (1) -
remote
_ addr (1) -
remote
_ address (2) -
reply
_ to (1) - reverse (1)
- route (1)
- send (3)
-
send
_ mail (1) - sender (1)
- sendmail (1)
- sendmsg (1)
-
sendmsg
_ nonblock (1) - set (1)
- socktype (1)
- succ (1)
- sysaccept (1)
- to (1)
-
to
_ i (1) -
to
_ name (1) -
to
_ range (1) -
to
_ s (2) -
to
_ sockaddr (1) -
to
_ string (1) - unix? (1)
-
unix
_ path (1) - vhid (1)
- | (1)
- ~ (1)
検索結果
先頭5件
-
Addrinfo
# to _ s -> String (9004.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? -> bool (9004.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
# unix _ path -> String (9004.0) -
Unix domain socket の path を文字列で返します。
Unix domain socket の path を文字列で返します。
require 'socket'
Addrinfo.unix("/tmp/sock").unix_path #=> "/tmp/sock"
@raise SocketError アドレスが Unix domain socket のものでない場合に発生します -
IPAddr
# <=>(other) -> Integer | nil (9004.0) -
self と other を比較します。
self と other を比較します。
@param other 比較対象の IPAddr オブジェクト。
@return self と other のアドレスファミリが一致しない場合は nil を返します。
アドレスファミリが一致する場合は、両方の数値表現を Integer#<=>
で比較した結果を返します。
@see Integer#<=> -
IPAddr
# eql?(other) -> bool (9004.0) -
自身が other と等しい場合は真を返します。 そうでない場合は偽を返します。
自身が other と等しい場合は真を返します。
そうでない場合は偽を返します。
@see Object#eql? -
IPAddr
# family -> Integer (9004.0) -
このオブジェクトのアドレスファミリを返します。
このオブジェクトのアドレスファミリを返します。
@see Socket -
IPAddr
# hash -> Integer (9004.0) -
ハッシュ値を返します。
ハッシュ値を返します。
@see Object#hash -
IPAddr
# hton -> String (9004.0) -
ネットワークオーダーのバイト列に変換します。
ネットワークオーダーのバイト列に変換します。 -
IPAddr
# inspect -> String (9004.0) -
オブジェクトを人間が読める形式に変換した文字列を返します。
オブジェクトを人間が読める形式に変換した文字列を返します。 -
IPAddr
# ip6 _ arpa -> String (9004.0) -
IPv6 なら 3172 で定義された形式で DNS 逆引きのための文字列を返します。 IPv4 の場合は例外を発生します。
IPv6 なら 3172 で定義された形式で DNS 逆引きのための文字列を返します。
IPv4 の場合は例外を発生します。 -
IPAddr
# ip6 _ int -> String (9004.0) -
IPv6 なら 1886 互換形式で DNS 逆引きのための文字列を返します。 IPv4 の場合は例外を発生します。
IPv6 なら 1886 互換形式で DNS 逆引きのための文字列を返します。
IPv4 の場合は例外を発生します。 -
IPAddr
# ipv4? -> bool (9004.0) -
IPv4 なら真を返します。
IPv4 なら真を返します。 -
IPAddr
# ipv4 _ compat? -> bool (9004.0) -
IPv4 互換 IPv6 アドレスなら 真を返します。
IPv4 互換 IPv6 アドレスなら 真を返します。 -
IPAddr
# ipv4 _ mapped? -> bool (9004.0) -
IPv4 射影 IPv6 アドレスなら 真を返します。
IPv4 射影 IPv6 アドレスなら 真を返します。 -
IPAddr
# ipv6? -> bool (9004.0) -
IPv6 なら真を返します。
IPv6 なら真を返します。 -
IPAddr
# mask!(mask) -> self (9004.0) -
与えられた mask を使用してこのオブジェクトの IP アドレスを破壊的に変更します。
与えられた mask を使用してこのオブジェクトの IP アドレスを破壊的に変更します。
@param mask プレフィックス長を表す文字列か、サブネットマスクを表す文字列。 -
IPAddr
# prefix -> Integer (9004.0) -
プリフィックス長をビット数で返します。
プリフィックス長をビット数で返します。 -
IPAddr
# prefix=(prefixlen) (9004.0) -
プリフィックス長を prefixlen に設定します。
プリフィックス長を prefixlen に設定します。
@param prefixlen 設定したいプリフィックス長をビット数で指定します。
@raise IPAddr::InvalidPrefixError 引数 prefixlen に整数以外のオブジェクトを指定した場合に発生します。 -
IPAddr
# to _ i -> Integer (9004.0) -
整数に変換します。
整数に変換します。
例:
require "ipaddr"
p IPAddr.new("0.0.1.0").to_i # => 256 -
IPAddr
# to _ range -> Range (9004.0) -
self の IP アドレスとサブネットマスクで取得できる IP アドレスの範囲を Range オブジェクトとして返します。
self の IP アドレスとサブネットマスクで取得できる IP アドレスの範囲を
Range オブジェクトとして返します。
例:
require 'ipaddr'
IPAddr.new('192.168.1.1').to_range
#=> #<IPAddr: IPv4:192.168.1.1/255.255.255.255>..#<IPAddr: IPv4:192.168.1.1/255.255.255.255>
IPAddr.new('::1').to_range
#=> #<IPAddr: IPv6:0000:0000:0000:0000:0000:0000:... -
Net
:: IMAP :: Address # host -> String | nil (9004.0) -
メールアドレスのホスト名を返します。
メールアドレスのホスト名を返します。
nil は 822 のグループ文法に対応します。
これについては Net::IMAP::Address#mailbox も参照してください。
そうでない場合は 822 のドメイン名を表します。
通常は、メールアドレスの「@」の後ろのドメイン名を返します。 -
Net
:: IMAP :: Address # mailbox -> String | nil (9004.0) -
メールアドレスのメールボックス名を返します。
メールアドレスのメールボックス名を返します。
これが nil ならばそれは 822 group の終わりを意味します。
これが nil でなく、Net::IMAP::Address#mailbox が nil ならば、
822 のグループ名を表します。
どれでもなければ、822 の local-part を表します。
通常は、メールアドレスの「@」の手前を返します。 -
Net
:: IMAP :: Address # name -> String | nil (9004.0) -
メールアドレスの 822 の個人名(personal name)を返します。
メールアドレスの 822 の個人名(personal name)を返します。
個人名が存在しない場合は nil を返します。
通常は nil を返します。 -
Net
:: IMAP :: Address # route -> String | nil (9004.0) -
メールアドレスの SMTP at-domain-list を返します。
メールアドレスの SMTP at-domain-list を返します。
存在しない場合は nil を返します。
通常は nil を返します。 -
Socket
:: Ifaddr # flags -> Integer (9004.0) -
self に指定された flags の値を返します。
self に指定された flags の値を返します。 -
Socket
:: Ifaddr # ifindex -> Integer (9004.0) -
self のインターフェイスのインデックスを返します。
self のインターフェイスのインデックスを返します。 -
Socket
:: Ifaddr # inspect -> String (9004.0) -
self の情報を人間に読みやすい文字列にして返します。
self の情報を人間に読みやすい文字列にして返します。 -
Socket
:: Ifaddr # name -> String (9004.0) -
self のインターフェイス名を返します。
self のインターフェイス名を返します。 -
Socket
:: Ifaddr # vhid -> Integer | nil (9004.0) -
self のバーチャルホストIDを返します。 バーチャルホストIDがない場合は nil を返します。
self のバーチャルホストIDを返します。
バーチャルホストIDがない場合は nil を返します。
サポートされていない環境ではメソッド自体が定義されていません。 -
Socket
:: AncillaryData # ip _ pktinfo -> [Addrinfo , Integer , Addrinfo] (640.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... -
Net
:: SMTP # send _ mail(mailsrc , from _ addr , *to _ addrs) -> () (631.0) -
メールを送信します。
メールを送信します。
mailsrc をメールとして送信します。
mailsrc は each イテレータを持つ
オブジェクトならなんでも構いません(たとえば String や File)。
from_domain は送り主のメールアドレス ('...@...'のかたち) 、
to_addrs には送信先メールアドレスを文字列で渡します。
require 'net/smtp'
Net::SMTP.start('smtp.example.com') {|smtp|
smtp.send_message mail_string,
... -
Net
:: SMTP # send _ message(mailsrc , from _ addr , *to _ addrs) -> () (631.0) -
メールを送信します。
メールを送信します。
mailsrc をメールとして送信します。
mailsrc は each イテレータを持つ
オブジェクトならなんでも構いません(たとえば String や File)。
from_domain は送り主のメールアドレス ('...@...'のかたち) 、
to_addrs には送信先メールアドレスを文字列で渡します。
require 'net/smtp'
Net::SMTP.start('smtp.example.com') {|smtp|
smtp.send_message mail_string,
... -
Net
:: SMTP # sendmail(mailsrc , from _ addr , *to _ addrs) -> () (631.0) -
メールを送信します。
メールを送信します。
mailsrc をメールとして送信します。
mailsrc は each イテレータを持つ
オブジェクトならなんでも構いません(たとえば String や File)。
from_domain は送り主のメールアドレス ('...@...'のかたち) 、
to_addrs には送信先メールアドレスを文字列で渡します。
require 'net/smtp'
Net::SMTP.start('smtp.example.com') {|smtp|
smtp.send_message mail_string,
... -
Net
:: SMTP # open _ message _ stream(from _ addr , *to _ addrs) {|f| . . . . } -> () (628.0) -
メール書き込みの準備をし、書き込み先のストリームオブジェクトを ブロックに渡します。ブロック終了後、書きこんだ結果が 送られます。
メール書き込みの準備をし、書き込み先のストリームオブジェクトを
ブロックに渡します。ブロック終了後、書きこんだ結果が
送られます。
渡されるストリームオブジェクトは以下のメソッドを持っています。
* puts(str = '') strを出力して CR LFを出力
* print(str) strを出力
* printf(fmt, *args) sprintf(fmt,*args) を出力
* write(str):: str を出力して書き込んだバイト数を返す
* <<(str):: str を出力してストリームオブジェ... -
Net
:: SMTP # ready(from _ addr , *to _ addrs) {|f| . . . . } -> () (628.0) -
メール書き込みの準備をし、書き込み先のストリームオブジェクトを ブロックに渡します。ブロック終了後、書きこんだ結果が 送られます。
メール書き込みの準備をし、書き込み先のストリームオブジェクトを
ブロックに渡します。ブロック終了後、書きこんだ結果が
送られます。
渡されるストリームオブジェクトは以下のメソッドを持っています。
* puts(str = '') strを出力して CR LFを出力
* print(str) strを出力
* printf(fmt, *args) sprintf(fmt,*args) を出力
* write(str):: str を出力して書き込んだバイト数を返す
* <<(str):: str を出力してストリームオブジェ... -
Socket
:: AncillaryData # ipv6 _ pktinfo -> [Addrinfo , Integer] (358.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... -
Net
:: SMTP # mailfrom(from _ addr) -> Net :: SMTP :: Response (325.0) -
MAILFROM コマンドを送ります。
MAILFROM コマンドを送ります。
通常は Net::SMTP#send_message, Net::SMTP#open_message_stream で
MAILFROM が送られるため利用する必要はないはずです。
@param from_addr 送信元メールアドレス -
Net
:: SMTP # rcptto(to _ addr) -> Net :: SMTP :: Response (325.0) -
RCPTTO コマンドを送ります。
RCPTTO コマンドを送ります。
通常は Net::SMTP#send_message, Net::SMTP#open_message_stream で
RCPTTO が送られるため利用する必要はないはずです。
@param to_addr 送信先メールアドレス -
BasicSocket
# recvmsg(maxmesglen=nil , flags=0 , maxcontrollen=nil , opts={}) -> [String , Addrinfo , Integer , *Socket :: AncillaryData] (304.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] (304.0) -
recvmsg(2) を用いてノンブロッキング方式でメッセージを受け取ります。
recvmsg(2) を用いてノンブロッキング方式でメッセージを受け取ります。
ブロッキングの有無以外は BasicSocket#recvmsg と同じです。
詳しくはそちらを参照してください。
@param maxmesglen 受け取るメッセージの最大長
@param flags フラグ
@param maxcontrollen 受け取る補助データの最大長
@param opts ハッシュオプション -
BasicSocket
# send(mesg , flags , dest _ sockaddr = nil) -> Integer (304.0) -
ソケットを介してデータを送ります。flags に関しては send(2) を参照してください。connect していないソケット に対しては送り先である dest_sockaddr を指定する必要があります。実際に送っ たデータの長さを返します。
ソケットを介してデータを送ります。flags に関しては
send(2) を参照してください。connect していないソケット
に対しては送り先である dest_sockaddr を指定する必要があります。実際に送っ
たデータの長さを返します。
dest_sockaddr にはlib:socket#pack_string
を指定します。
データの送信に失敗した場合は例外 Errno::EXXX が発生します。
@param mesg 送信するデータを文字列で指定します。
@param flags send(2) の flags を参照してください。
@par... -
BasicSocket
# sendmsg(mesg , flags=0 , dest _ sockaddr=nil , *controls) -> Integer (304.0) -
sendmsg(2) を用いてメッセージを送ります。
sendmsg(2) を用いてメッセージを送ります。
このメソッドはブロックします。ノンブロッキング方式で通信したい
場合は BasicSocket#sendmsg_nonblock を用います。
ソケットが connection-less の場合は dest_sockaddr で
通信先のアドレスを指定しなければなりません。Socket.sockaddr_in
の返り値や Addrinfo オブジェクトを引数として渡すことができます。
controls には 補助データ(ancillary data)を渡します。
Socket::AncillaryData のインスタンスや
3要素(c... -
BasicSocket
# sendmsg _ nonblock(mesg , flags=0 , dest _ sockaddr=nil , *controls) -> Integer (304.0) -
sendmsg(2) を用いてノンブロッキング方式でメッセージを送ります。
sendmsg(2) を用いてノンブロッキング方式でメッセージを送ります。
詳しくは BasicSocket#sendmsg を見てください。
@return 送ったバイト数
@param mesg メッセージ文字列
@param flags フラグ(Socket::MSG_* という定数の bitwise OR を取ったもの)
@param dest_sockaddr 通信先のアドレス
@param controls 補助データの配列
@see BasicSocket#sendmsg -
Net
:: IMAP :: Envelope # bcc -> [Net :: IMAP :: Address] | nil (304.0) -
Bcc を Net::IMAP::Address オブジェクトの配列で返します。
Bcc を Net::IMAP::Address オブジェクトの配列で返します。
エンベロープに存在しないときは nil を返します。 -
Net
:: IMAP :: Envelope # cc -> [Net :: IMAP :: Address] | nil (304.0) -
Cc を Net::IMAP::Address オブジェクトの配列で返します。
Cc を Net::IMAP::Address オブジェクトの配列で返します。
エンベロープに存在しないときは nil を返します。 -
Net
:: IMAP :: Envelope # from -> [Net :: IMAP :: Address] | nil (304.0) -
From を Net::IMAP::Address オブジェクトの配列で返します。
From を Net::IMAP::Address オブジェクトの配列で返します。
エンベロープに存在しないときは nil を返します。 -
Net
:: IMAP :: Envelope # reply _ to -> [Net :: IMAP :: Address] | nil (304.0) -
Reply-To を Net::IMAP::Address オブジェクトの配列で返します。
Reply-To を Net::IMAP::Address オブジェクトの配列で返します。
エンベロープに存在しないときは nil を返します。 -
Net
:: IMAP :: Envelope # sender -> [Net :: IMAP :: Address] | nil (304.0) -
Sender を Net::IMAP::Address オブジェクトの配列で返します。
Sender を Net::IMAP::Address オブジェクトの配列で返します。
エンベロープに存在しないときは nil を返します。 -
Net
:: IMAP :: Envelope # to -> [Net :: IMAP :: Address] | nil (304.0) -
To を Net::IMAP::Address オブジェクトの配列で返します。
To を Net::IMAP::Address オブジェクトの配列で返します。
エンベロープに存在しないときは nil を返します。 -
Net
:: SMTP # rcptto _ list(to _ addrs) { . . . } -> object (304.0) -
RCPTTO コマンドを to_addrs のすべてのメールアドレスに対して送ります。
RCPTTO コマンドを to_addrs のすべてのメールアドレスに対して送ります。
コマンドを送った後、ブロックを呼び出します。
このメソッドの返り値はブロックの返り値になります。
通常は Net::SMTP#send_message, Net::SMTP#open_message_stream で
RCPTTO が送られるため利用する必要はないはずです。
@param to_addrs 送信先メールアドレスの配列 -
Resolv
# each _ name(address) {|name| . . . } -> () (304.0) -
IP アドレス address のホスト名をルックアップし、 各ルックアップ結果のホスト名に対してブロックを評価します。
IP アドレス address のホスト名をルックアップし、
各ルックアップ結果のホスト名に対してブロックを評価します。
@param address IPアドレスを文字列で与えます。 -
Resolv
# getname(address) -> String (304.0) -
IP アドレス address のホスト名をルックアップし、 ルックアップ結果の最初のホスト名を文字列で返します。
IP アドレス address のホスト名をルックアップし、
ルックアップ結果の最初のホスト名を文字列で返します。
@param address IPアドレスを文字列で与えます。
@raise Resolv::ResolvError ルックアップに失敗したときに発生します。 -
Resolv
# getnames(address) -> [String] (304.0) -
IP アドレス address のホスト名をルックアップし、 ルックアップ結果のホスト名リストを返します。
IP アドレス address のホスト名をルックアップし、
ルックアップ結果のホスト名リストを返します。
@param address IPアドレスを文字列で与えます。 -
Resolv
:: DNS # each _ name(address) {|name| . . . } -> () (304.0) -
IP アドレス address のホスト名をルックアップし、 各ルックアップ結果のホスト名に対してブロックを評価します。
IP アドレス address のホスト名をルックアップし、
各ルックアップ結果のホスト名に対してブロックを評価します。
@param address IPアドレスを文字列、 Resolv::IPv4 のインスタンス、
Resolv::IPv6 のインスタンス、のいずれか与えます。 -
Resolv
:: DNS # getname(address) -> Resolv :: DNS :: Name (304.0) -
IP アドレス address のホスト名をルックアップし、 ルックアップ結果の最初のホスト名を返します。
IP アドレス address のホスト名をルックアップし、
ルックアップ結果の最初のホスト名を返します。
@param address IPアドレスを文字列、 Resolv::IPv4 のインスタンス、
Resolv::IPv6 のインスタンス、のいずれか与えます。
@raise Resolv::ResolvError ルックアップに失敗したときに発生します。 -
Resolv
:: DNS # getnames(address) -> [Resolv :: DNS :: Name] (304.0) -
IP アドレス address のホスト名をルックアップし、 ルックアップ結果のホスト名リストを返します。
IP アドレス address のホスト名をルックアップし、
ルックアップ結果のホスト名リストを返します。
@param address IPアドレスを文字列、 Resolv::IPv4 のインスタンス、
Resolv::IPv6 のインスタンス、のいずれか与えます。 -
Resolv
:: Hosts # each _ name(address) {|name| . . . } -> () (304.0) -
IP アドレス address のホスト名をルックアップし、 各ルックアップ結果のホスト名に対してブロックを評価します。
IP アドレス address のホスト名をルックアップし、
各ルックアップ結果のホスト名に対してブロックを評価します。
ルックアップは /etc/hosts, DNS の順で行います。
@param address IPアドレスを文字列で与えます。 -
Resolv
:: Hosts # getname(address) -> String (304.0) -
IP アドレス address のホスト名をルックアップし、 ルックアップ結果の最初のホスト名を文字列で返します。
IP アドレス address のホスト名をルックアップし、
ルックアップ結果の最初のホスト名を文字列で返します。
@param address IPアドレスを文字列で与えます。
@raise Resolv::ResolvError ルックアップに失敗したときに発生します。 -
Resolv
:: Hosts # getnames(address) -> [String] (304.0) -
IP アドレス address のホスト名をルックアップし、 ルックアップ結果のホスト名リストを返します。
IP アドレス address のホスト名をルックアップし、
ルックアップ結果のホスト名リストを返します。
@param address IPアドレスを文字列で与えます。 -
Socket
# bind(my _ sockaddr) -> 0 (304.0) -
ソケットを my_sockaddr に結合します。bind(2) と同じ働きをします。
ソケットを my_sockaddr に結合します。bind(2)
と同じ働きをします。
@param my_sockaddr lib:socket#pack_stringもしくはAddrinfoオブジェクトを指定します。
@return 0 を返します。 -
Socket
# connect(server _ sockaddr) -> 0 (304.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
# connect _ nonblock(server _ sockaddr) -> 0 (304.0) -
ソケットをノンブロッキングモードに設定した後、 connect(2) を呼び出します。
ソケットをノンブロッキングモードに設定した後、
connect(2) を呼び出します。
引数、返り値は Socket#connect と同じです。
connect が EINPROGRESS エラーを報告した場合、その例外(Errno::EINPROGRESS)
には IO::WaitWritable が Object#extend されます。
これを connect_nonblock をリトライするために使うことができます。
# Pull down Google's web page
require 'socket'
include Socket::Constants
... -
Socket
# recvfrom(maxlen , flags=0) -> [String , Addrinfo] (304.0) -
ソケットからデータを受け取ります。
ソケットからデータを受け取ります。
BasicSocket#recv と同様ですが、返り値として
データ文字列と相手ソケットのアドレスのペアが返されます。
flags には Socket::MSG_* という定数の bitwise OR を渡します。
詳しくは recvfrom(2) を参照してください。
@param maxlen ソケットから受けとるデータの最大値
@param flags フラグ
@raise Errno::EXXX recvfrom(2) がエラーを報告した場合に発生します。詳しくは
Errno と man を見てください。
例:
requi... -
Socket
# recvfrom _ nonblock(maxlen , flags=0) -> [String , Addrinfo] (304.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... -
UDPSocket
# send(mesg , flags , dest _ sockaddr=nil) -> Integer (304.0) -
4 引数の形式で UDPSocket#send 実行したとき、 パラメータ host の名前解決に resolv ライブラリを使います。
4 引数の形式で UDPSocket#send 実行したとき、
パラメータ host の名前解決に
resolv ライブラリを使います。
@param mesg 送るデータを文字列で与えます。
@param flags フラグを指定します。
@param host データを送る先のホストを指定します。
@param port データを送る先のポートを指定します。
@raise SocketError 名前解決に失敗した場合に発生します。 -
UDPSocket
# send(mesg , flags , sockaddr _ to) -> Integer (304.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... -
WEBrick
:: GenericServer # listen(address , port) -> [TCPServer] (304.0) -
与えられたアドレスとポートで TCPServer オブジェクトを生成し listener として管理します。
与えられたアドレスとポートで TCPServer オブジェクトを生成し
listener として管理します。
@param address アドレスを文字列で指定します。
@param port listen するポートを整数で指定します。
@see WEBrick::GenericServer#listeners, TCPServer#listen -
IPSocket
# recvfrom(maxlen , flags = 0) -> Array (88.0) -
recv と同様にソケットからデータを受け取りますが、 戻り値は文字列と相手ソケットのアドレス (形式は IPSocket#addr 参照) のペアです。引数につ いては BasicSocket#recv と同様です。
recv と同様にソケットからデータを受け取りますが、
戻り値は文字列と相手ソケットのアドレス (形式は
IPSocket#addr 参照) のペアです。引数につ
いては BasicSocket#recv と同様です。
@param maxlen 受け取る文字列の最大の長さを指定します。
@param flags recv(2) を参照してください。
@raise IOError
@raise Errno::EXXX recvfrom(2) がエラーになった場合などに発生します。
例:
require 'socket'
s1 = UDPSocket.new
s1.b... -
BasicSocket
# getpeername -> String (76.0) -
接続の相手先のソケットの情報を取得します。sockaddr 構造体をパッ クした文字列を返します。getpeername(2) を参照してください。
接続の相手先のソケットの情報を取得します。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\... -
Socket
:: AncillaryData # ipv6 _ pktinfo _ ifindex -> Integer (58.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... -
Resolv
:: IPv4 # to _ name -> Resolv :: DNS :: Name (52.0) -
"x.y.z.w.in-addr.arpa." という形のドメイン名を返します。
"x.y.z.w.in-addr.arpa." という形のドメイン名を返します。 -
UDPSocket
# recvfrom _ nonblock(maxlen , flags=0) -> [String , Array] (40.0) -
ソケットをノンブロッキングモードに設定した後、 recvfrom(2) でソケットからデータを受け取ります。
ソケットをノンブロッキングモードに設定した後、
recvfrom(2) でソケットからデータを受け取ります。
maxlen で受け取るデータの最大バイト数を指定します。
flags はフラグで、Socket::MSG_* の bitwise OR を渡します。
詳しくは recvfrom(2) を参照してください。
返り値はデータの文字列と送り元のアドレス情報の
2要素の配列となります。
recvfrom(2) がエラーになった場合、
Errno::EAGAIN, Errno::EINTR を含め例外 Errno::EXXX が発生します。
Errno::EWOULDBLOCK、Err... -
Kernel
# httpd -> () (22.0) -
WEBrick HTTP server を起動します。
WEBrick HTTP server を起動します。
ruby -run -e httpd -- [OPTION] [DocumentRoot]
--bind-address=ADDR バインドアドレスを指定します
--port=NUM ポート番号を指定します
--max-clients=MAX 同時接続数の最大値
--temp-dir=DIR 一時ディレクトリを指定します
--do-not-reverse-lookup 逆引きを無効にします
--requ... -
TCPServer
# accept -> TCPSocket (22.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"
} -
TCPServer
# sysaccept -> Integer (22.0) -
接続したクライアントのソケットをファイル記述子で返すことを除けば TCPServer#accept と同じです。
接続したクライアントのソケットをファイル記述子で返すことを除けば
TCPServer#accept と同じです。
例:
require 'socket'
TCPServer.open("", 0) {|serv|
c = TCPSocket.new(*serv.addr.values_at(3,1))
p serv.sysaccept #=> 6
}