るりまサーチ (Ruby 2.1.0)

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

別のキーワード

  1. socket sock_raw
  2. socket sock_rdm
  3. socket sock_dgram
  4. socket sock_stream
  5. socket sock_packet

モジュール

検索結果

<< 1 2 > >>

Net::Telnet#sock -> IO (54307.0)

リモートホストに接続している IO オブジェクトを返します。

リモートホストに接続している IO オブジェクトを返します。

Telnet オブジェクトのメソッドはこのオブジェクトに
移譲されているので、Telnetオブジェクトは IO オブジェクト
オブジェクトのメソッドを持ち、それらを呼ぶと IO オブジェクトに
転送されます。

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

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

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

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

optval には文字列、整数、真偽値(true or false)を渡すことができます。
文字列の場合には setsockopt(2) にはその文字列と
長さが渡されます。整数の場合はintへのポイン...

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

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

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

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

@param level getsockopt(2) の 第二引数のlevel
@param optname gets...

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

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

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

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

optval には文字列、整数、真偽値(true or false)を渡すことができます。
文字列の場合には setsockopt(2) にはその文字列と
長さが渡されます。整数の場合はintへのポイン...

BasicSocket#getsockname -> String (27304.0)

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

ソケットの情報を取得します。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 ...

絞り込み条件を変える

OpenSSL::SSL::SocketForwarder#getsockopt(level, optname) -> String (27304.0)

ラップされているソケットのオプションを設定します。

ラップされているソケットのオプションを設定します。

BasicSocket#getsockopt と同様です。

@param level getsockopt(2) の 第二引数のlevel に相当する整数を指定します
@param optname getsockopt(2) の 第三引数のoption_name に相当する整数を指定します

OpenSSL::SSL::SocketForwarder#setsockopt(level, optname, optval) -> 0 (27304.0)

ラップされているソケットのオプションを設定します。

ラップされているソケットのオプションを設定します。

BasicSocket#setsockopt と同様です。

@param level setsockopt(2) の level に相当する整数を指定します
@param optname setsockopt(2) の option_name に相当する整数を指定します
@param optval 設定される値を文字列で指定します。

@raise Errno::EXXX オプションの設定に失敗した場合発生します。

Net::FTP#set_socket(sock, get_greeting = true) -> nil (18709.0)

FTP のコントロール接続の ソケットを TCPSocket オブジェクト sock に設定します。

FTP のコントロール接続の
ソケットを TCPSocket オブジェクト sock に設定します。

get_greeting に偽が与えられると、
set_socket は通信先を設定するだけで sock に対する操作を
何も行ないません。
get_greeting が真ならば、通信先を sock に
設定したあと、通常FTPサーバが接続時に送ってくるメッセージを読み込みます。

通常このメソッドは使うべきではありません。このライブラリの
実装を理解した上で必要な場合のみ利用してください。

@param sock コントロール接続に使うソケットを指定します。
@param get_gre...

Addrinfo#inspect_sockaddr -> String (18340.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#socktype -> Integer (18322.0)

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

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

require 'socket'

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

絞り込み条件を変える

ACL#allow_socket?(soc) -> bool (18304.0)

ソケットに関連付けられたアドレスが ACL で許可されているならば 真を返します。

ソケットに関連付けられたアドレスが ACL で許可されているならば
真を返します。

@param soc 判定対象のソケット

File::Stat#socket? -> bool (18304.0)

ソケットの時に真を返します。

ソケットの時に真を返します。

//emlist[][ruby]{
Dir.glob("/tmp/*"){|file|
if File::Stat.new(file).socket?
printf "%s\n", file
end
}
#例
#=> /tmp/uimhelper-hogehoge
#...
//}

Pathname#socket? -> bool (18304.0)

FileTest.socket?(self.to_s) と同じです。

FileTest.socket?(self.to_s) と同じです。


@see FileTest.#socket?

Shell#socket?(file) -> bool (18304.0)

FileTest モジュールにある同名のクラスメソッドと同じです.

FileTest モジュールにある同名のクラスメソッドと同じです.

@param file ファイル名を表す文字列を指定します。

@see FileTest.#socket?

Shell::CommandProcessor#socket?(file) -> bool (18304.0)

FileTest モジュールにある同名のクラスメソッドと同じです.

FileTest モジュールにある同名のクラスメソッドと同じです.

@param file ファイル名を表す文字列を指定します。

@see FileTest.#socket?

絞り込み条件を変える

Shell::Filter#socket?(file) -> bool (18304.0)

FileTest モジュールにある同名のクラスメソッドと同じです.

FileTest モジュールにある同名のクラスメソッドと同じです.

@param file ファイル名を表す文字列を指定します。

@see FileTest.#socket?

SOCKSSocket#close -> nil (18004.0)

ソケットを閉じます。

ソケットを閉じます。

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

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

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

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

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

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

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

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

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

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

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

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

opts にはその他...

Socket#connect(server_sockaddr) -> 0 (9322.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 (9322.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
...

Addrinfo#to_sockaddr -> String (9304.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"

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

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

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

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

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

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

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

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

dest_sockaddr には「ソケットアドレス構造体を pack した文字列」
を指定します。

データの送信に失敗した場合は例外 Errno::EXXX が発生します。

@param mesg 送信するデータを文字列で指定します。

@param flags send(2) の flags を参照してください。

@...

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

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

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

詳しくは BasicSocket#sendmsg を見てください。

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

絞り込み条件を変える

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

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

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

how の値によって以下のように接続が終了します。

* 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_R...

Socket#bind(my_sockaddr) -> 0 (9304.0)

ソケットを my_sockaddr に結合します。bind(2) と同じ働きをします。

ソケットを my_sockaddr に結合します。bind(2)
と同じ働きをします。

@param my_sockaddr ソケットアドレス構造体を pack した文字列lib:socket#pack_stringもしくはAddrinfoオブジェクトを指定します。
@return 0 を返します。

UDPSocket#send(mesg, flags , dest_sockaddr=nil) -> Integer (9304.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 (9304.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...

BasicSocket#do_not_reverse_lookup -> bool (9076.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
}
BasicSock...

絞り込み条件を変える

Socket#accept -> Array (9040.0)

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

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

たとえば IPv4 の TCP サーバソケットを生成し、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)
s...

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

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

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

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

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

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

require 's...

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

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

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

配列の最初の要素が euid, 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.
next if euid ...

BasicSocket#connect_address -> Addrinfo (9004.0)

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

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

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

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

requ...

BasicSocket#do_not_reverse_lookup=(bool) (9004.0)

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

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

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

絞り込み条件を変える

BasicSocket#getpeername -> String (9004.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\...

BasicSocket#local_address -> Addrinfo (9004.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#recv(maxlen, flags = 0) -> String (9004.0)

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

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

内部で呼び出す recv(2) が 0 を返した場合、このメソッドは "" を返します。
この意味はソケットによって異なります。
たとえば TCP では EOF を意味しますし、
UDP では空のパケットを読み込んだことを意味します。

@param maxlen 受け取...

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

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

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

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

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

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

@param flags recv(2) を参照してください。

@raise IOError

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

BasicSocket#remote_address -> Addrinfo (9004.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...

絞り込み条件を変える

IPSocket#addr -> Array (9004.0)

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

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

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

例:

require 'socket'

serv = TCPServer.new("localhost", 0)
p serv.addr #=> ["...

IPSocket#peeraddr -> Array (9004.0)

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

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

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

例:

require 'socket'

TCPSocket.open("localhost", "http") {|s|
p s.peeraddr #=> ["AF_INET", 80, "localhost.localdomain", "127.0.0.1"]
p s.addr #=> ["AF_INET"...

IPSocket#recvfrom(maxlen, flags = 0) -> Array (9004.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...

OpenSSL::SSL::SSLSocket#accept -> self (9004.0)

TLS/SSL 通信をサーバモードとして開始し、クライアントからの ハンドシェイク開始を待ち、クライアントとのハンドシェイクを実行します。

TLS/SSL 通信をサーバモードとして開始し、クライアントからの
ハンドシェイク開始を待ち、クライアントとのハンドシェイクを実行します。

@raise OpenSSL::SSL::SSLError ハンドシェイクに失敗した(VERIFY_PEER で
証明書の検証に失敗した場合や、プロトコル合意に失敗したなど)
場合に発生します
@see OpenSSL::SSL::SSLSocket#connect,
OpenSSL::SSL::SSLSocket#accept_nonblock

OpenSSL::SSL::SSLSocket#accept_nonblock -> self (9004.0)

ノンブロッキング方式で TLS/SSL 通信をサーバモードとして開始し、 クライアントとのハンドシェイクを実行します。

ノンブロッキング方式で
TLS/SSL 通信をサーバモードとして開始し、
クライアントとのハンドシェイクを実行します。

IO が読み込み待ち、もしくは書き込み待ちになった場合は例外を
発生させ、ハンドシェイクを中断します。IO が読み込み/書き込み
可能状態になってからこのメソッドをもう一度呼ぶと
ハンドシェイクを再開します。

@raise OpenSSL::SSL::SSLError ハンドシェイクに失敗した(VERIFY_PEER で
証明書の検証に失敗した場合や、プロトコル合意に失敗したなど)
場合に発生します
(実際は OpenSSL::S...

絞り込み条件を変える

OpenSSL::SSL::SSLSocket#cert -> OpenSSL::X509::Certificate | nil (9004.0)

自分自身を証明する証明書を返します。

自分自身を証明する証明書を返します。

自分自身を証明する証明書を使わなかった場合は nil を返します。
OpenSSL::SSL::SSLSocket#connect や OpenSSL::SSL::SSLSocket#accept
で SSL/TLS ハンドシェイクを行う前にこのメソッドを呼んだ
場合も nil を返します。

@see OpenSSL::SSL::SSLContext#cert

OpenSSL::SSL::SSLSocket#cipher -> [String, String, Integer, Integer] (9004.0)

現在実際に使われている暗号の情報を配列で返します。

現在実際に使われている暗号の情報を配列で返します。

返される配列の形式は以下の例のように [暗号名, TLS/SSLのバージョン, 鍵長, アルゴリズムで使われる bit 数] となります。

["DES-CBC3-SHA", "TLSv1/SSLv3", 168, 168]

OpenSSL::SSL::SSLSocket#connect や OpenSSL::SSL::SSLSocket#accept
で SSL/TLS ハンドシェイクを行う前にこのメソッドを呼ぶと nil を返します。

OpenSSL::SSL::SSLSocket#connect -> self (9004.0)

TLS/SSl 通信をクライアントモードとして開始し、 サーバとのハンドシェイクを実行します。

TLS/SSl 通信をクライアントモードとして開始し、
サーバとのハンドシェイクを実行します。


@raise OpenSSL::SSL::SSLError ハンドシェイクに失敗した(VERIFY_PEER で
証明書の検証に失敗した場合や、プロトコル合意に失敗したなど)
場合に発生します
@see OpenSSL::SSL::SSLSocket#accept,
OpenSSL::SSL::SSLSocket#connect_nonblock

OpenSSL::SSL::SSLSocket#connect_nonblock -> self (9004.0)

ノンブロッキング方式で TLS/SSL 通信をクライアントモードとして開始し、 サーバとのハンドシェイクを実行します。

ノンブロッキング方式で
TLS/SSL 通信をクライアントモードとして開始し、
サーバとのハンドシェイクを実行します。

IO が読み込み待ち、もしくは書き込み待ちになった場合は例外を
発生させ、ハンドシェイクを中断します。IO が読み込み/書き込み
可能状態になってからこのメソッドをもう一度呼ぶと
ハンドシェイクを再開します。

@raise OpenSSL::SSL::SSLError ハンドシェイクに失敗した(VERIFY_PEER で
証明書の検証に失敗した場合や、プロトコル合意に失敗したなど)
場合に発生します
@raise OpenSSL::SSL::S...

OpenSSL::SSL::SSLSocket#context -> OpenSSL::SSL::SSLContext (9004.0)

SSLSocket オブジェクトを生成する時に渡されたコンテクストを返します。

SSLSocket オブジェクトを生成する時に渡されたコンテクストを返します。

@see OpenSSL::SSL::SSLSocket.new

絞り込み条件を変える

OpenSSL::SSL::SSLSocket#hostname -> String | nil (9004.0)

TLS の Server Name Indication 拡張で利用するサーバのホスト名を返します。

TLS の Server Name Indication 拡張で利用するサーバのホスト名を返します。

OpenSSL::SSL::SSLSocket#hostname= で設定した値がそのまま返されます。

設定していない場合は nil を返します。

@see OpenSSL::SSL::SSLSocket#hostname=

OpenSSL::SSL::SSLSocket#hostname=(hostname) (9004.0)

TLS の Server Name Indication(SNI) 拡張で利用するサーバのホスト名を設定します。

TLS の Server Name Indication(SNI) 拡張で利用するサーバのホスト名を設定します。

Server Name Indication については 3546 を参照してください。

このメソッドはハンドシェイク時にクライアント側がサーバ側に
サーバのホスト名を伝えるために用います。そのため、
クライアント側が OpenSSL::SSL::SSLSocket#connect を呼ぶ前に
このメソッドでホスト名を指定する必要があります。

hostname に nil を渡すと SNI 拡張を利用しません。

サーバ側については OpenSSL::SSL::SSLCont...

OpenSSL::SSL::SSLSocket#io -> IO (9004.0)

SSLSocket オブジェクトを生成する時に渡されたソケットを返します。

SSLSocket オブジェクトを生成する時に渡されたソケットを返します。

@see OpenSSL::SSL::SSLSocket.new

OpenSSL::SSL::SSLSocket#peer_cert -> OpenSSL::X509::Certificate | nil (9004.0)

接続相手の証明書オブジェクトを返します。

接続相手の証明書オブジェクトを返します。

OpenSSL::SSL::SSLSocket#connect や OpenSSL::SSL::SSLSocket#accept
で SSL/TLS ハンドシェイクを行う前にこのメソッドを呼ぶと nil を返します。

@see OpenSSL::SSL::SSLSocket#peer_cert_chain

OpenSSL::SSL::SSLSocket#peer_cert_chain -> [OpenSSL::X509::Certificate] | nil (9004.0)

接続相手の証明書チェインを OpenSSL::X509::Certificate オブジェクト の配列で返します。

接続相手の証明書チェインを OpenSSL::X509::Certificate オブジェクト
の配列で返します。

OpenSSL::SSL::SSLSocket#connect や OpenSSL::SSL::SSLSocket#accept
で SSL/TLS ハンドシェイクを行う前にこのメソッドを呼ぶと nil を返します。

以下の順の配列を返します。
[接続相手の証明書, 下位CAの証明書,... 中間CAの証明書]
ルート CA の証明書は含まれないことに注意してください。

@see OpenSSL::SSL::SSLSocket#peer_cert

絞り込み条件を変える

OpenSSL::SSL::SSLSocket#pending -> Integer | nil (9004.0)

OpenSSL内部のバッファが保持している、直ちに読み取り可能な データのバイト数を返します。

OpenSSL内部のバッファが保持している、直ちに読み取り可能な
データのバイト数を返します。

ハンドシェイク開始前には nil を返します。

OpenSSL::SSL::SSLSocket#post_connection_check(hostname) -> true (9004.0)

接続後検証を行います。

接続後検証を行います。

検証に成功した場合は true を返し、失敗した場合は例外
OpenSSL::SSL::SSLError を発生させます。

OpenSSL の API では、
OpenSSL::SSL::SSLSocket#connect や OpenSSL::SSL::SSLSocket#accept
での検証は実用的には不完全です。
CA が証明書に署名してそれが失効していないことしか確認しません。
実用上は証明書に記載されている事項を見て、接続先が妥当であるかを確認する
必要があります。通常は接続先ホストの FQDN と証明書に記載されている FQDN が
一致しているか...

OpenSSL::SSL::SSLSocket#session -> OpenSSL::SSL::Session (9004.0)

利用している SSL セッションを OpenSSL::SSL::Session オブジェクトで返します。

利用している SSL セッションを OpenSSL::SSL::Session
オブジェクトで返します。

@see OpenSSL::SSL::SSLSocket#session=,
OpenSSL::SSL::SSLSocket#session_reused?

OpenSSL::SSL::SSLSocket#session=(sess) (9004.0)

ハンドシェイクで再利用する SSL セッションを 設定します。

ハンドシェイクで再利用する SSL セッションを
設定します。

このメソッドはクライアント側でのみ有用です。
セッションを再利用する場合は、
OpenSSL::SSL::SSLSocket#connect を呼ぶ前に
このメソッドでセッションオブジェクト
(OpenSSL::SSL::Session のインスタンス)
を設定します。

サーバ側の場合 OpenSSL::SSL::SSLContext がキャッシュの保持と
管理を行います。

@param sess 設定するセッション
@see OpenSSL::SSL::SSLSocket#session,
OpenSSL::SS...

OpenSSL::SSL::SSLSocket#session_reused? -> bool (9004.0)

利用している SSL セッションが再利用されたものである 場合に真を返します。

利用している SSL セッションが再利用されたものである
場合に真を返します。

@see OpenSSL::SSL::Session,
OpenSSL::SSL::SSLSocket#session,
OpenSSL::SSL::SSLSocket#session=

絞り込み条件を変える

OpenSSL::SSL::SSLSocket#state -> String (9004.0)

現在の状態をアルファベット 6 文字の文字列で返します。

現在の状態をアルファベット 6 文字の文字列で返します。

OpenSSL::SSL::SSLSocket#sync_close -> bool (9004.0)

SSLSocket を close するときにラップしているソケットも close するかどうかを 返します。

SSLSocket を close するときにラップしているソケットも close するかどうかを
返します。

true でソケットも close します。

OpenSSL::SSL::SSLSocket#sync_close=(bool) (9004.0)

SSLSocket を close するときにラップしているソケットも close するかどうかを 設定します。

SSLSocket を close するときにラップしているソケットも close するかどうかを
設定します。

true でソケットも close するようになります。

@param bool 設定する真偽値

OpenSSL::SSL::SSLSocket#sysclose -> nil (9004.0)

接続を閉じます。相手に'close notify'を送ります。

接続を閉じます。相手に'close notify'を送ります。

このメソッドは openssl ライブラリ内で管理しているバッファを
フラッシュせずに接続を閉じます。そのため、通常は
これではなく OpenSSL::Buffering#close を呼ぶべきです。

OpenSSL::SSL::SSLSocket#sync_close が真である場合は
このメソッドを呼びだした時点で自身が保持しているソケット
を同時に閉じます。

OpenSSL::SSL::SSLSocket#sysread(length, buf=nil) -> String (9004.0)

データをバッファを経由せずに暗号化通信路から読み込み、 読み込んだデータを文字列で返します。

データをバッファを経由せずに暗号化通信路から読み込み、
読み込んだデータを文字列で返します。

基本的にはこのメソッドは使わず、OpenSSL::Buffering の
メソッドを使ってデータを読み込むべきです。

length で読み込むバイト数を指定します。

bufに文字列を指定するとその文字列のメモリ領域にデータを直接書き込み、
その String オブジェクトを返します。

IO#sysread と同様です。

@param length 読み込むバイト数を指定します
@param buf データを書き込むバッファ
@raise EOFError 入力が終端に逹した場合に発生します
...

絞り込み条件を変える

OpenSSL::SSL::SSLSocket#syswrite(string) -> Integer (9004.0)

データをバッファを経由せずに暗号化通信路に書き込みます。

データをバッファを経由せずに暗号化通信路に書き込みます。

書き込んだバイト数を整数で返します。

基本的にはこのメソッドは使わず、OpenSSL::Buffering の
メソッドを使ってデータを書き込むべきです。

IO#syswrite と同様です。

@param string 書き込むデータ文字列
@raise OpenSSL::SSL::SSLError 書き込みに失敗した場合に発生します

OpenSSL::SSL::SSLSocket#to_io -> IO (9004.0)

SSLSocket オブジェクトを生成する時に渡されたソケットを返します。

SSLSocket オブジェクトを生成する時に渡されたソケットを返します。

@see OpenSSL::SSL::SSLSocket.new

OpenSSL::SSL::SSLSocket#verify_result -> Integer (9004.0)

検証結果のエラーコードを整数値で返します。

検証結果のエラーコードを整数値で返します。

エラーコードの整数値は OpenSSL::X509 に定数が定義されています。
詳しくは c:OpenSSL::X509#verify_error を見てください。
検証に成功した場合は OpenSSL::X509::V_OK を返します。

OpenSSL::SSL::SocketForwarder#addr -> Array (9004.0)

ラップされているソケットの接続情報を返します。

ラップされているソケットの接続情報を返します。

IPSocket#addr と同様です。

OpenSSL::SSL::SocketForwarder#closed? -> bool (9004.0)

ラップされているソケットが close していたら true を返します。

ラップされているソケットが
close していたら true を返します。

絞り込み条件を変える

OpenSSL::SSL::SocketForwarder#do_not_reverse_lookup=(bool) (9004.0)

真を渡すとアドレスからホスト名への逆引きを行わなくなります。

真を渡すとアドレスからホスト名への逆引きを行わなくなります。

BasicSocket#do_not_reverse_lookup と同様です。

@param bool 真で逆引きを抑制します

OpenSSL::SSL::SocketForwarder#fcntl(cmd, arg=0) -> Integer (9004.0)

ラップされているソケットに対してシステムコール fcntl を実行します。

ラップされているソケットに対してシステムコール fcntl を実行します。

IO#fcntl と同様です。

@param cmd IO に対するコマンドを、添付ライブラリ fcntl が提供している定数で指定します。
@param arg cmd に対する引数を整数、文字列、booleanのいずれかで指定します。
@raise Errno::EXXX fcntl の実行に失敗した場合に発生します。
@raise IOError 既に close されている場合に発生します。

OpenSSL::SSL::SocketForwarder#peeraddr -> Array (9004.0)

ラップされているソケットの接続先相手の情報を返します。

ラップされているソケットの接続先相手の情報を返します。

IPSocket#peeraddr と同様です。

Socket#accept_nonblock -> Array (9004.0)

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

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

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

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

Socket#ipv6only! -> () (9004.0)

ソケットの IPV6_V6ONLY オプションを有効にします。

ソケットの IPV6_V6ONLY オプションを有効にします。

IPV6_V6ONLY オプションが使えない場合はこのメソッドは何もしません。

絞り込み条件を変える

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

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

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

0 を返します。

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

@return 0 を返します。

Socket#recvfrom_nonblock(maxlen, flags=0) -> [String, Addrinfo] (9004.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#sysaccept -> Array (9004.0)

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

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

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

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

自身の 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) #=> fa...

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

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

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

require 'socket'

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

@see Socket::AncillaryData.new

絞り込み条件を変える

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

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

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

require 'socket'

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

@see Socket::AncillaryData.new

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

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

自身が保持している 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::Ancillar...

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

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

絞り込み条件を変える

Socket::AncillaryData#ipv6_pktinfo_ifindex -> Integer (9004.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...

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

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

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

require 'socket'

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

@see Socket::AncillaryData.new

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

Socket::AncillaryData#type -> Integer (9004.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 (9004.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...

絞り込み条件を変える

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

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

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

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

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

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

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

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

self の宛先アドレスを Addrinfo オブジェクトで返します。
self.flags で Socket::IFF_POINTOPOINT が有効ではない場合は 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#netmask -> Addrinfo | nil (9004.0)

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

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

Socket::Option#bool -> bool (9004.0)

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

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

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

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

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

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

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

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

絞り込み条件を変える

<< 1 2 > >>