種類
- インスタンスメソッド (13)
- 特異メソッド (4)
クラス
- Addrinfo (5)
- BasicSocket (5)
- Socket (2)
-
Socket
:: Ifaddr (5)
キーワード
- addr (1)
- broadaddr (1)
- canonname (1)
-
connect
_ nonblock (1) - dstaddr (1)
- foreach (2)
- getaddrinfo (2)
-
ipv6
_ to _ ipv4 (1) - netmask (1)
- recvmsg (1)
-
recvmsg
_ nonblock (1) - send (1)
- sendmsg (1)
-
sendmsg
_ nonblock (1) - vhid (1)
検索結果
先頭5件
- Addrinfo
. getaddrinfo(nodename , service , family=nil , socktype=nil , protocol=nil , flags=0) -> [Addrinfo] - Socket
:: Ifaddr # addr -> Addrinfo | nil - Socket
:: Ifaddr # broadaddr -> Addrinfo | nil - Socket
:: Ifaddr # dstaddr -> Addrinfo | nil - Socket
. getaddrinfo(nodename , servname , family=nil , socktype=nil , protocol=nil , flags=nil) -> Array
-
Addrinfo
. getaddrinfo(nodename , service , family=nil , socktype=nil , protocol=nil , flags=0) -> [Addrinfo] (28624.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... -
Socket
:: Ifaddr # addr -> Addrinfo | nil (27958.0) -
self のアドレスを Addrinfo オブジェクトで返します。 self が利用できない場合は nil を返します。
self のアドレスを Addrinfo オブジェクトで返します。
self が利用できない場合は nil を返します。 -
Socket
:: Ifaddr # broadaddr -> Addrinfo | nil (27958.0) -
self のブロードキャストアドレスを Addrinfo オブジェクトで返します。 self.flags で Socket::IFF_BROADCAST が有効ではない場合は nil を返します。
...self のブロードキャストアドレスを Addrinfo オブジェクトで返します。
self.flags で Socket::IFF_BROADCAST が有効ではない場合は nil を返します。... -
Socket
:: Ifaddr # dstaddr -> Addrinfo | nil (27958.0) -
self の宛先アドレスを Addrinfo オブジェクトで返します。 self.flags で Socket::IFF_POINTOPOINT が有効ではない場合は nil を返します。
...self の宛先アドレスを Addrinfo オブジェクトで返します。
self.flags で Socket::IFF_POINTOPOINT が有効ではない場合は nil を返します。... -
Socket
. getaddrinfo(nodename , servname , family=nil , socktype=nil , protocol=nil , flags=nil) -> Array (19537.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... -
Addrinfo
. foreach(nodename , service , family=nil , socktype=nil , protocol=nil , flags=0) {|addrinfo| . . . } -> [Addrinfo] (10579.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) -> Enumerator (9979.0) -
Addrinfo.getaddrinfo で得られる配列の各要素を繰り返します。
Addrinfo.getaddrinfo で得られる配列の各要素を繰り返します。
ブロックを省略した場合は Enumerator を返します。
@param nodename ノード名文字列(ホスト名もしくは IP アドレス)
@param service サービス名(文字列もしくはポート番号の整数)
@param family プロトコルファミリー(整数、文字列、シンボル、もしくは nil)
@param socktype ソケットタイプ(整数、文字列、シンボル、もしくは nil)
@param protocol プロトコル(整数、もしくは nil)
@param flags フラグ(... -
Addrinfo
# ipv6 _ to _ ipv4 -> Addrinfo|nil (9682.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... -
Socket
:: Ifaddr # netmask -> Addrinfo | nil (9658.0) -
self のネットマスクを Addrinfo オブジェクトで返します。 self が利用できない場合は nil を返します。
self のネットマスクを Addrinfo オブジェクトで返します。
self が利用できない場合は nil を返します。 -
Socket
:: Ifaddr # vhid -> Integer | nil (9358.0) -
self のバーチャルホストIDを返します。 バーチャルホストIDがない場合は nil を返します。
self のバーチャルホストIDを返します。
バーチャルホストIDがない場合は nil を返します。
サポートされていない環境ではメソッド自体が定義されていません。 -
Addrinfo
# canonname -> String|nil (9346.0) -
カノニカル名を文字列で返します。
...返します。
カノニカル名は 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... -
BasicSocket
# recvmsg(maxmesglen=nil , flags=0 , maxcontrollen=nil , opts={}) -> [String , Addrinfo , Integer , *Socket :: AncillaryData] (913.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] (913.0) -
recvmsg(2) を用いてノンブロッキング方式でメッセージを受け取ります。
...recvmsg(2) を用いてノンブロッキング方式でメッセージを受け取ります。
ブロッキングの有無以外は BasicSocket#recvmsg と同じです。
詳しくはそちらを参照してください。
@param maxmesglen 受け取るメッセージの最大長
@param flags... -
BasicSocket
# sendmsg(mesg , flags=0 , dest _ sockaddr=nil , *controls) -> Integer (646.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
# send(mesg , flags , dest _ sockaddr = nil) -> Integer (610.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 _ nonblock(mesg , flags=0 , dest _ sockaddr=nil , *controls) -> Integer (610.0) -
sendmsg(2) を用いてノンブロッキング方式でメッセージを送ります。
...cSocket#sendmsg を見てください。
@return 送ったバイト数
@param mesg メッセージ文字列
@param flags フラグ(Socket::MSG_* という定数の bitwise OR を取ったもの)
@param dest_sockaddr 通信先のアドレス
@param controls 補助データの配列
@see BasicSocket#... -
Socket
# connect _ nonblock(server _ sockaddr) -> 0 (325.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) がエラーを報告...