るりまサーチ (Ruby 2.6.0)

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

別のキーワード

  1. socket new
  2. socket tcp_server_sockets
  3. socket udp_server_sockets
  4. socket listen

ライブラリ

キーワード

検索結果

<< < 1 2 3 4 > >>

Socket::Constants::PF_NS -> Integer (33097.0)

@todo XEROX NS protocol。 Socket.open の第一引数 domain に使用します。

@todo
XEROX NS protocol。
Socket.open の第一引数 domain に使用します。

Socket::Constants::PF_PPP -> Integer (33097.0)

@todo Point-to-Point Protocol。 Socket.open の第一引数 domain に使用します。

@todo
Point-to-Point Protocol。
Socket.open の第一引数 domain に使用します。

Socket::Constants::PF_ROUTE -> Integer (33097.0)

@todo Internal Routing protocol。 Socket.open の第一引数 domain に使用します。

@todo
Internal Routing protocol。
Socket.open の第一引数 domain に使用します。

@todo

Socket::Constants::PF_SIP -> Integer (33097.0)

@todo Simple Internet Protocol。 Socket.open の第一引数 domain に使用します。

@todo
Simple Internet Protocol。
Socket.open の第一引数 domain に使用します。

Socket::Constants::PF_SNA -> Integer (33097.0)

@todo IBM SNA protocol。 Socket.open の第一引数 domain に使用します。

@todo
IBM SNA protocol。
Socket.open の第一引数 domain に使用します。

絞り込み条件を変える

BasicSocket#getpeername -> String (33091.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#getsockname -> String (33091.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 ...

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

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

ソケットの接続情報を表す配列を返します。配列の各要素は第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 #=> [...

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

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

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

maxlen で受け取るメッセージの最大長をバイト数で指定します。

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

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

例:

require 'socket'

UNIXServer.open("/tmp/s") {|serv|
c = UNIXSocket.open("/tmp/s")
s = serv.accept
s.send "a", 0
p c.recvfrom(10...

BasicSocket#do_not_reverse_lookup -> bool (33055.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...

絞り込み条件を変える

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

Socket::Constants::AF_UNSPEC -> Integer (33055.0)

アドレスファミリー不定。

アドレスファミリー不定。

@see Socket.open, sys/socket.h(header)

Socket::Constants::PF_UNSPEC -> Integer (33055.0)

プロトコルファミリー不定。

プロトコルファミリー不定。

@see Socket::Constants::AF_UNSPEC, Socket.open

UNIXSocket#peeraddr -> [String, String] (33055.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

絞り込み条件を変える

Socket::Constants::IFF_OVS_DATAPATH (33049.0)

device used as Open vSwitch datapath port

device used as Open vSwitch datapath port

IPSocket#peeraddr -> Array (33037.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"...

Socket::Constants::AF_SYSTEM -> Integer (33037.0)

@todo

@todo

Socket.open の第一引数 domain に使用します。

Socket::Constants::IPPROTO_AH -> Integer (33037.0)

IPv6 auth header。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。

IPv6 auth header。
BasicSocket#getsockopt, BasicSocket#setsockopt の
level 引数に使用します。

また、Socket.open の protocol 引数に渡す利用法もあります。

@see 2292

Socket::Constants::IPPROTO_BIP -> Integer (33037.0)

@todo BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。

@todo
BasicSocket#getsockopt, BasicSocket#setsockopt の
level 引数に使用します。

また、Socket.open の protocol 引数に渡す利用法もあります。

絞り込み条件を変える

Socket::Constants::IPPROTO_DSTOPTS -> Integer (33037.0)

IPv6 destination option。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。

IPv6 destination option。
BasicSocket#getsockopt, BasicSocket#setsockopt の
level 引数に使用します。

また、Socket.open の protocol 引数に渡す利用法もあります。

@see 2292

Socket::Constants::IPPROTO_EGP -> Integer (33037.0)

@todo Exterior Gateway Protocol。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。

@todo
Exterior Gateway Protocol。
BasicSocket#getsockopt, BasicSocket#setsockopt の
level 引数に使用します。

また、Socket.open の protocol 引数に渡す利用法もあります。

Socket::Constants::IPPROTO_EON -> Integer (33037.0)

@todo ISO cnlp。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。

@todo
ISO cnlp。
BasicSocket#getsockopt, BasicSocket#setsockopt の
level 引数に使用します。

また、Socket.open の protocol 引数に渡す利用法もあります。

Socket::Constants::IPPROTO_ESP -> Integer (33037.0)

IPv6 Encapsulated Security Payload。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。

IPv6 Encapsulated Security Payload。
BasicSocket#getsockopt, BasicSocket#setsockopt の
level 引数に使用します。

また、Socket.open の protocol 引数に渡す利用法もあります。

@see 2292

Socket::Constants::IPPROTO_FRAGMENT -> Integer (33037.0)

IPv6 fragmentation header。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。

IPv6 fragmentation header。
BasicSocket#getsockopt, BasicSocket#setsockopt の
level 引数に使用します。

また、Socket.open の protocol 引数に渡す利用法もあります。

@see 2292

絞り込み条件を変える

Socket::Constants::IPPROTO_GGP -> Integer (33037.0)

@todo Gateway to Gateway Protocol。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。

@todo
Gateway to Gateway Protocol。
BasicSocket#getsockopt, BasicSocket#setsockopt の
level 引数に使用します。

また、Socket.open の protocol 引数に渡す利用法もあります。

Socket::Constants::IPPROTO_HELLO -> Integer (33037.0)

@todo "hello" routing protocol。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。

@todo
"hello" routing protocol。
BasicSocket#getsockopt, BasicSocket#setsockopt の
level 引数に使用します。

また、Socket.open の protocol 引数に渡す利用法もあります。

Socket::Constants::IPPROTO_HOPOPTS -> Integer (33037.0)

IPv6 hop-by-hop options。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。

IPv6 hop-by-hop options。
BasicSocket#getsockopt, BasicSocket#setsockopt の
level 引数に使用します。

また、Socket.open の protocol 引数に渡す利用法もあります。

@see 2292

Socket::Constants::IPPROTO_ICMP -> Integer (33037.0)

Control message protocol。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。

Control message protocol。
BasicSocket#getsockopt, BasicSocket#setsockopt の
level 引数に使用します。

また、Socket.open の protocol 引数に渡す利用法もあります。

@see netinet/in.h(header)
icmp(4freebsd), icmp(7linux)

Socket::Constants::IPPROTO_ICMPV6 -> Integer (33037.0)

Internet Control Message Protocol for IPv6。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。

Internet Control Message Protocol for IPv6。
BasicSocket#getsockopt, BasicSocket#setsockopt の
level 引数に使用します。

また、Socket.open の protocol 引数に渡す利用法もあります。

@see icmp6(4freebsd), 2292

絞り込み条件を変える

Socket::Constants::IPPROTO_IDP -> Integer (33037.0)

@todo XNS IDP。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。

@todo
XNS IDP。
BasicSocket#getsockopt, BasicSocket#setsockopt の
level 引数に使用します。

また、Socket.open の protocol 引数に渡す利用法もあります。

Socket::Constants::IPPROTO_IGMP -> Integer (33037.0)

@todo Group Management Protocol。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。

@todo
Group Management Protocol。
BasicSocket#getsockopt, BasicSocket#setsockopt の
level 引数に使用します。

また、Socket.open の protocol 引数に渡す利用法もあります。

Socket::Constants::IPPROTO_IP -> Integer (33037.0)

Internet protocol。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。

Internet protocol。
BasicSocket#getsockopt, BasicSocket#setsockopt の
level 引数に使用します。

また、Socket.open の protocol 引数に渡す利用法もあります。

@see netinet/in.h(header)
ip(4freebsd), ip(7linux)

Socket::Constants::IPPROTO_IPV6 -> Integer (33037.0)

Internet Protocol Version 6。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。

Internet Protocol Version 6。
BasicSocket#getsockopt, BasicSocket#setsockopt の
level 引数に使用します。

また、Socket.open の protocol 引数に渡す利用法もあります。

@see netinet/in.h(header)
ip6(4freebsd), ipv6(7linux)
2292

Socket::Constants::IPPROTO_ND -> Integer (33037.0)

@todo Sun net disk protocol BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。

@todo
Sun net disk protocol
BasicSocket#getsockopt, BasicSocket#setsockopt の
level 引数に使用します。

また、Socket.open の protocol 引数に渡す利用法もあります。

絞り込み条件を変える

Socket::Constants::IPPROTO_NONE -> Integer (33037.0)

IP6 no next header。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。

IP6 no next header。
BasicSocket#getsockopt, BasicSocket#setsockopt の
level 引数に使用します。

また、Socket.open の protocol 引数に渡す利用法もあります。

@see 2292

Socket::Constants::IPPROTO_PUP -> Integer (33037.0)

@todo PARC Universal Packet protocol。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。

@todo
PARC Universal Packet protocol。
BasicSocket#getsockopt, BasicSocket#setsockopt の
level 引数に使用します。

また、Socket.open の protocol 引数に渡す利用法もあります。

Socket::Constants::IPPROTO_RAW -> Integer (33037.0)

Raw IP packets protocol。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。

Raw IP packets protocol。
BasicSocket#getsockopt, BasicSocket#setsockopt の
level 引数に使用します。

また、Socket.open の protocol 引数に渡す利用法もあります。

@see netinet/in.h(header)
ip(4freebsd), raw(7linux)

Socket::Constants::IPPROTO_ROUTING -> Integer (33037.0)

BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。

BasicSocket#getsockopt, BasicSocket#setsockopt の
level 引数に使用します。

また、Socket.open の protocol 引数に渡す利用法もあります。

@see 2292

Socket::Constants::IPPROTO_TCP -> Integer (33037.0)

Transmission control protocol。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。

Transmission control protocol。
BasicSocket#getsockopt, BasicSocket#setsockopt の
level 引数に使用します。

また、Socket.open の protocol 引数に渡す利用法もあります。

@see netinet/in.h(header)
tcp(4freebsd), tcp(7linux)

絞り込み条件を変える

Socket::Constants::IPPROTO_TP -> Integer (33037.0)

@todo ISO transport protocol class 4。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。

@todo
ISO transport protocol class 4。
BasicSocket#getsockopt, BasicSocket#setsockopt の
level 引数に使用します。

また、Socket.open の protocol 引数に渡す利用法もあります。

Socket::Constants::IPPROTO_UDP -> Integer (33037.0)

User Datagram Protocol。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。

User Datagram Protocol。
BasicSocket#getsockopt, BasicSocket#setsockopt の
level 引数に使用します。

また、Socket.open の protocol 引数に渡す利用法もあります。

@see netinet/in.h(header)
udp(4freebsd), udp(7linux)

Socket::Constants::IPPROTO_XTP -> Integer (33037.0)

@todo Xpress Transport Protocol。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。

@todo
Xpress Transport Protocol。
BasicSocket#getsockopt, BasicSocket#setsockopt の
level 引数に使用します。

また、Socket.open の protocol 引数に渡す利用法もあります。

Socket::Constants::PF_SYSTEM -> Integer (33037.0)

@todo

@todo

Socket.open の第一引数 domain に使用します。

UNIXSocket#path -> String (33037.0)

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

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

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

例:

require 'socket'

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

絞り込み条件を変える

UNIXSocket.new(path) {|sock| ...} -> object (33025.0)

path で指定したパス名を用いてソケットを接続します。

path で指定したパス名を用いてソケットを接続します。

ブロックを省略すると接続したソケットを返します。

ブロックを渡した場合は、接続したソケットを引数としてそのブロックを呼びだし、
ブロック終了時にソケットを閉じます。この場合には
ブロックの評価値を返り値として返します。

@param path 接続先のパス名文字列

require 'socket'

s = UNIXSocket.new("/tmp/sock")
s.send("hello", 0)

OpenSSL::SSL::SSLSocket (27019.0)

ソケットをラップして SSL での認証と暗号通信を実現するためのクラスです。

ソケットをラップして SSL での認証と暗号通信を実現するためのクラスです。


=== 例

SSL/TLS サーバに接続して write します。

require 'socket'
require 'openssl'
include OpenSSL

soc = TCPSocket.new('www.example.com', 443)
ssl = SSL::SSLSocket.new(soc)
ssl.connect
ssl.post_connection_check('www.example.com')
raise "verification er...

OpenSSL::SSL::SocketForwarder (27001.0)

to_io で返されるソケットオブジェクトにメソッドを フォワードするモジュールです。

to_io で返されるソケットオブジェクトにメソッドを
フォワードするモジュールです。

OpenSSL::SSL::SSLSocket や OpenSSL::SSL::SSLServer と
いったソケットの SSL ラッパクラスにソケット関連のメソッドを定義するため
に使われます。

UNIXServer#accept -> UnixSocket (24355.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"
p c.recv(20) #=> "from server"
p s.recv(20) #=> "from clie...

TCPServer#accept -> TCPSocket (24337.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 (24073.0)

TCP/IP ストリーム型接続のサーバ側のソケットのクラスです。

TCP/IP ストリーム型接続のサーバ側のソケットのクラスです。

このクラスによって簡単にソケットを利用したサーバのプログラミングができます。

例えば echo サーバは以下のようになります。

require "socket"

gs = TCPServer.open(0)
socks = [gs]
addr = gs.addr
addr.shift
printf("server is on %s\n", addr.join(":"))

while true
nsock = select(socks)
next if nsock ==...

TCPServer.new(host=nil, service) -> TCPServer (24058.0)

新しいサーバー接続をオープンします。service は /etc/services (または NIS) に登録されているサービ ス名かポート番号で指定します。host を指定した時は 指定したホストに対しての接続だけを受け付けます。

新しいサーバー接続をオープンします。service は
/etc/services (または NIS) に登録されているサービ
ス名かポート番号で指定します。host を指定した時は
指定したホストに対しての接続だけを受け付けます。

省略時は全てのホストへの接続要求を受け付けることになります。
new, open は内部では getaddrinfo(3) を呼び出しており、
複数のアドレス構造体が検出された場合、
最初に見つかったものを返します。
実行環境によっては IPv4, IPv6 のどちらか専用の接続になる場合がありますが、
その場合、host を省略せず明示的に指定することで、接...

UNIXServer#sysaccept -> Integer (24055.0)

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

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

例:

require 'socket'

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

TCPServer#sysaccept -> Integer (24037.0)

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

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

例:

require 'socket'

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

UNIXServer.new(path) -> UNIXServer (24025.0)

path で指定したパス名を用いて接続を受け付けるソケット を作成します。

path で指定したパス名を用いて接続を受け付けるソケット
を作成します。

ブロックを省略すると作成したサーバソケットを返します。

ブロックを渡した場合は、作成したソケットを引数としてそのブロックを呼びだし、
ブロック終了時にソケットを閉じます。この場合には
ブロックの評価値を返り値として返します。

@param path 接続を受け付けるパス名文字列

require 'socket'

serv = UNIXServer.new("/tmp/sock")
s = serv.accept
p s.read

絞り込み条件を変える

UNIXServer.new(path) {|sock| ...} -> object (24025.0)

path で指定したパス名を用いて接続を受け付けるソケット を作成します。

path で指定したパス名を用いて接続を受け付けるソケット
を作成します。

ブロックを省略すると作成したサーバソケットを返します。

ブロックを渡した場合は、作成したソケットを引数としてそのブロックを呼びだし、
ブロック終了時にソケットを閉じます。この場合には
ブロックの評価値を返り値として返します。

@param path 接続を受け付けるパス名文字列

require 'socket'

serv = UNIXServer.new("/tmp/sock")
s = serv.accept
p s.read

OpenSSL::SSL::SSLSocket.new(socket) -> OpenSSL::SSL::SSLSocket (18991.0)

socket をラップして SSLSocket オブジェクトを生成します。

socket をラップして SSLSocket オブジェクトを生成します。


socket には ラップする TCPSocket オブジェクトを与え、
context には SSL の設定情報を所持している
OpenSSL::SSL::SSLContext オブジェクトを与えます。

context を省略した場合は OpenSSL::SSL::SSLContext.new で
新たにコンテキストを生成してそれを用います。

@param socket ラップするソケット
@param context SSL の設定情報を持つ SSL コンテキストオブジェクト
@raise OpenSSL:...

OpenSSL::SSL::SSLSocket.new(socket, context) -> OpenSSL::SSL::SSLSocket (18991.0)

socket をラップして SSLSocket オブジェクトを生成します。

socket をラップして SSLSocket オブジェクトを生成します。


socket には ラップする TCPSocket オブジェクトを与え、
context には SSL の設定情報を所持している
OpenSSL::SSL::SSLContext オブジェクトを与えます。

context を省略した場合は OpenSSL::SSL::SSLContext.new で
新たにコンテキストを生成してそれを用います。

@param socket ラップするソケット
@param context SSL の設定情報を持つ SSL コンテキストオブジェクト
@raise OpenSSL:...

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

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

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

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

@see OpenSSL::SSL::SSLContext#cert

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

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

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

@see OpenSSL::SSL::SSLSocket.new

絞り込み条件を変える

OpenSSL::SSL::SSLSocket#peer_cert -> OpenSSL::X509::Certificate | nil (18301.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 (18301.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#session -> OpenSSL::SSL::Session (18301.0)

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

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

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

OpenSSL::SSL::SSLSocket#accept -> self (18001.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 (18001.0)

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

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

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

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

絞り込み条件を変える

OpenSSL::SSL::SSLSocket#cipher -> [String, String, Integer, Integer] (18001.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 (18001.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 (18001.0)

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

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

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

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

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

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

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

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

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

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

OpenSSL::SSL::SSLSocket#hostname=(hostname) (18001.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 (18001.0)

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

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

@see OpenSSL::SSL::SSLSocket.new

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

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

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

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

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

接続後検証を行います。

接続後検証を行います。

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

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

OpenSSL::SSL::SSLSocket#session=(sess) (18001.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 (18001.0)

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

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

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

絞り込み条件を変える

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

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

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

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

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

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

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

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

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

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

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

@param bool 設定する真偽値

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

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

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

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

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

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

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

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

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

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

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

IO#sysread と同様です。

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

絞り込み条件を変える

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

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

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

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

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

IO#syswrite と同様です。

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

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

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

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

@see OpenSSL::SSL::SSLSocket.new

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

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

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

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

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

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

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

IPSocket#addr と同様です。

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

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

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

絞り込み条件を変える

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

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

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

BasicSocket#do_not_reverse_lookup と同様です。

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

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

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

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

IO#fcntl と同様です。

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

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

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

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

BasicSocket#getsockopt と同様です。

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

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

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

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

IPSocket#peeraddr と同様です。

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

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

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

BasicSocket#setsockopt と同様です。

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

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

絞り込み条件を変える

OpenSSL::SSL::SSLServer#accept -> OpenSSL::SSL::SSLSocket (9601.0)

クライアントからの接続を受け付け、接続した SSLSocket オブジェクトを返します。

クライアントからの接続を受け付け、接続した
SSLSocket オブジェクトを返します。

OpenSSL::SSL::SSLServer#start_immediately が真ならば、
SSLSocket#accept を呼び TLS/SSL ハンドシェイクを実行してから
SSLSocket オブジェクトを返します。

OpenSSL::SSL::SSLServer#shutdown(how=Socket::SHUT_RDWR) -> 0 (9358.0)

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

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

詳しくは BasicSocket#shutdown を参照してください。

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

Etc::SC_RAW_SOCKETS -> Integer (9307.0)

Etc.#sysconf の引数に指定します。

Etc.#sysconf の引数に指定します。

詳細は sysconf(3) を参照してください。

TCPSocket.new(host, serv, local_host=nil, local_service=nil) -> TCPSocket (9304.0)

TCPSocket.new のパラメータ host と local_host の名前解決に resolv ライブラリを使います。

TCPSocket.new のパラメータ host と local_host
の名前解決に resolv ライブラリを使います。

@param host ホスト名、またはインターネットアドレスを示す文字列を指定します。
@param service /etc/services (または NIS) に登録されているサービス名かポート番号を指定します。
@param local_host ホスト名、またはインターネットアドレスを示す文字列を指定します。
@param local_service /etc/services (または NIS) に登録さ...

OpenSSL::Random.#egd(filename) -> true (9019.0)

EGD(Entropy Gathering Daemon) からエントロピーを得、 乱数生成器に追加します。

EGD(Entropy Gathering Daemon) からエントロピーを得、
乱数生成器に追加します。

filename で指定した Unix domain socket から EGD に問い合わせ、
255 バイト分のエントロピーを取得します。
OpenSSL::Random.egd_bytes(filename, 255) と同じです。

@param filename EGD のソケットのファイル名
@raise OpenSSL::Random::RandomError

絞り込み条件を変える

OpenSSL::Random.#egd_bytes(filename, length) -> true (9019.0)

EGD(Entropy Gathering Daemon) から length バイト分のエントロピーを得ます。

EGD(Entropy Gathering Daemon) から length バイト分のエントロピーを得ます。

filename で指定した Unix domain socket から EGD に問い合わせ、
指定した大きさのエントロピーを乱数生成器に追加します。

@param filename EGD のソケットのファイル名
@param length 読み込むバイト数
@raise OpenSSL::Random::RandomError


@raise OpenSSL::Random::RandomError

OpenSSL::SSL::SSLServer (9019.0)

SSL サーバーのためのクラス。

SSL サーバーのためのクラス。

TCPServer をラップするクラスで、TCPServer で接続した
ソケットを OpenSSL::SSL::SSLSocket でラップする機能を持ちます。
おおよそ TCPServer と同様のメソッドを持ちます。

基本的には SSL サーバを簡単に実装するためのクラスであり、
これを利用せずとも SSL サーバを実装することは可能です。

以下はクライアントからの入力を標準出力に出力するだけのサーバです。

require 'socket'
require 'openssl'

include OpenSSL

ctx =...

1.6.8から1.8.0への変更点(まとめ) (415.0)

1.6.8から1.8.0への変更点(まとめ) * ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/文法の変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/正規表現>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Marshal>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Windows 対応>)) * ((<1.6.8から1.8.0への変更点(まとめ)/廃止された(される予定の)機能>)) * ((<1.6.8から1.8.0への変更点(まとめ)/ライブラリ>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張ライブラリAPI>)) * ((<1.6.8から1.8.0への変更点(まとめ)/バグ修正>)) * ((<1.6.8から1.8.0への変更点(まとめ)/サポートプラットフォームの追加>))

1.6.8から1.8.0への変更点(まとめ)
* ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>))
* ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>))
* ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>))...

ruby 1.6 feature (235.0)

ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。

ruby 1.6 feature
ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン
になります。

((<stable-snapshot|URL:ftp://ftp.netlab.co.jp/pub/lang/ruby/stable-snapshot.tar.gz>)) は、日々更新される安定版の最新ソースです。

== 1.6.8 (2002-12-24) -> stable-snapshot

: 2003-01-22: errno

EAGAIN と EWOULDBLOCK が同じ値のシステムで、EWOULDBLOCK がなくなっ
ていま...

NEWS for Ruby 2.5.0 (199.0)

NEWS for Ruby 2.5.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

NEWS for Ruby 2.5.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。

== 2.4.0 以降の変更

=== 言語仕様の変更

* トップレベルの定数参照を削除しました 11547
* do/end ブロック内部で rescue/else/ensure を書けるようになりました 12906
* 文字列の式展...

絞り込み条件を変える

<< < 1 2 3 4 > >>