ライブラリ
クラス
- Addrinfo (11)
- BasicSocket (3)
- CSV (3)
- Date (1)
- Encoding (3)
-
Etc
:: Passwd (1) - File (3)
-
File
:: Stat (1) -
IRB
:: ExtendCommand :: PopWorkspace (1) -
IRB
:: ExtendCommand :: PushWorkspace (1) - Pathname (1)
- Socket (20)
-
Socket
:: AncillaryData (5) - String (2)
- Tempfile (2)
- UNIXServer (8)
- UNIXSocket (12)
- WIN32OLE (2)
モジュール
- Etc (130)
- FileTest (1)
- FileUtils (1)
- Kernel (9)
- Open3 (2)
-
OpenSSL
:: Random (2) - Process (2)
- Readline (1)
-
Socket
:: Constants (9) - Zlib (1)
キーワード
-
$ -I (1) -
$ : (1) -
$ LOAD _ PATH (1) -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (1) -
AF
_ LOCAL (2) -
AF
_ UNIX (2) -
ALT
_ SEPARATOR (1) - Addrinfo (1)
- Cygwin (1)
- ENGLAND (1)
-
EUCJP
_ MS (1) -
EUC
_ JP _ MS (1) -
EucJP
_ ms (1) - Fiddle (1)
- IO (1)
-
NEWS for Ruby 2
. 0 . 0 (1) - NKF (1)
-
OS
_ UNIX (1) -
PATH
_ SEPARATOR (1) -
PF
_ LOCAL (2) -
PF
_ UNIX (2) - Ruby が動作するプラットフォーム (1)
- Ruby用語集 (1)
-
SCM
_ CREDENTIALS (2) -
SCM
_ CREDS (2) -
SCM
_ RIGHTS (2) -
SC
_ 2 _ CHAR _ TERM (1) -
SC
_ 2 _ C _ BIND (1) -
SC
_ 2 _ C _ DEV (1) -
SC
_ 2 _ FORT _ DEV (1) -
SC
_ 2 _ FORT _ RUN (1) -
SC
_ 2 _ LOCALEDEF (1) -
SC
_ 2 _ PBS (1) -
SC
_ 2 _ PBS _ ACCOUNTING (1) -
SC
_ 2 _ PBS _ CHECKPOINT (1) -
SC
_ 2 _ PBS _ LOCATE (1) -
SC
_ 2 _ PBS _ MESSAGE (1) -
SC
_ 2 _ PBS _ TRACK (1) -
SC
_ 2 _ SW _ DEV (1) -
SC
_ 2 _ UPE (1) -
SC
_ 2 _ VERSION (1) -
SC
_ ADVISORY _ INFO (1) -
SC
_ AIO _ LISTIO _ MAX (1) -
SC
_ AIO _ MAX (1) -
SC
_ AIO _ PRIO _ DELTA _ MAX (1) -
SC
_ ARG _ MAX (1) -
SC
_ ASYNCHRONOUS _ IO (1) -
SC
_ ATEXIT _ MAX (1) -
SC
_ AVPHYS _ PAGES (1) -
SC
_ BARRIERS (1) -
SC
_ BC _ BASE _ MAX (1) -
SC
_ BC _ DIM _ MAX (1) -
SC
_ BC _ SCALE _ MAX (1) -
SC
_ BC _ STRING _ MAX (1) -
SC
_ CHILD _ MAX (1) -
SC
_ CLK _ TCK (1) -
SC
_ CLOCK _ SELECTION (1) -
SC
_ COLL _ WEIGHTS _ MAX (1) -
SC
_ CPUSET _ SIZE (1) -
SC
_ CPUTIME (1) -
SC
_ DELAYTIMER _ MAX (1) -
SC
_ EXPR _ NEST _ MAX (1) -
SC
_ FSYNC (1) -
SC
_ GETGR _ R _ SIZE _ MAX (1) -
SC
_ GETPW _ R _ SIZE _ MAX (1) -
SC
_ HOST _ NAME _ MAX (1) -
SC
_ IOV _ MAX (1) -
SC
_ IPV6 (1) -
SC
_ JOB _ CONTROL (1) -
SC
_ LINE _ MAX (1) -
SC
_ LOGIN _ NAME _ MAX (1) -
SC
_ MAPPED _ FILES (1) -
SC
_ MEMLOCK (1) -
SC
_ MEMLOCK _ RANGE (1) -
SC
_ MEMORY _ PROTECTION (1) -
SC
_ MESSAGE _ PASSING (1) -
SC
_ MONOTONIC _ CLOCK (1) -
SC
_ MQ _ OPEN _ MAX (1) -
SC
_ MQ _ PRIO _ MAX (1) -
SC
_ NGROUPS _ MAX (1) -
SC
_ NPROCESSORS _ CONF (1) -
SC
_ NPROCESSORS _ ONLN (1) -
SC
_ OPEN _ MAX (1) -
SC
_ PAGESIZE (1) -
SC
_ PAGE _ SIZE (1) -
SC
_ PHYS _ PAGES (1) -
SC
_ PRIORITIZED _ IO (1) -
SC
_ PRIORITY _ SCHEDULING (1) -
SC
_ RAW _ SOCKETS (1) -
SC
_ READER _ WRITER _ LOCKS (1) -
SC
_ REALTIME _ SIGNALS (1) -
SC
_ REGEXP (1) -
SC
_ RE _ DUP _ MAX (1) -
SC
_ RTSIG _ MAX (1) -
SC
_ SAVED _ IDS (1) -
SC
_ SEMAPHORES (1) -
SC
_ SEM _ NSEMS _ MAX (1) -
SC
_ SEM _ VALUE _ MAX (1) -
SC
_ SHARED _ MEMORY _ OBJECTS (1) -
SC
_ SHELL (1) -
SC
_ SIGQUEUE _ MAX (1) -
SC
_ SPAWN (1) -
SC
_ SPIN _ LOCKS (1) -
SC
_ SPORADIC _ SERVER (1) -
SC
_ SS _ REPL _ MAX (1) -
SC
_ STREAM _ MAX (1) -
SC
_ SYMLOOP _ MAX (1) -
SC
_ SYNCHRONIZED _ IO (1) -
SC
_ THREADS (1) -
SC
_ THREAD _ ATTR _ STACKADDR (1) -
SC
_ THREAD _ ATTR _ STACKSIZE (1) -
SC
_ THREAD _ CPUTIME (1) -
SC
_ THREAD _ DESTRUCTOR _ ITERATIONS (1) -
SC
_ THREAD _ KEYS _ MAX (1) -
SC
_ THREAD _ PRIORITY _ SCHEDULING (1) -
SC
_ THREAD _ PRIO _ INHERIT (1) -
SC
_ THREAD _ PRIO _ PROTECT (1) -
SC
_ THREAD _ PROCESS _ SHARED (1) -
SC
_ THREAD _ ROBUST _ PRIO _ INHERIT (1) -
SC
_ THREAD _ ROBUST _ PRIO _ PROTECT (1) -
SC
_ THREAD _ SAFE _ FUNCTIONS (1) -
SC
_ THREAD _ SPORADIC _ SERVER (1) -
SC
_ THREAD _ STACK _ MIN (1) -
SC
_ THREAD _ THREADS _ MAX (1) -
SC
_ TIMEOUTS (1) -
SC
_ TIMERS (1) -
SC
_ TIMER _ MAX (1) -
SC
_ TRACE (1) -
SC
_ TRACE _ EVENT _ FILTER (1) -
SC
_ TRACE _ EVENT _ NAME _ MAX (1) -
SC
_ TRACE _ INHERIT (1) -
SC
_ TRACE _ LOG (1) -
SC
_ TRACE _ NAME _ MAX (1) -
SC
_ TRACE _ SYS _ MAX (1) -
SC
_ TRACE _ USER _ EVENT _ MAX (1) -
SC
_ TTY _ NAME _ MAX (1) -
SC
_ TYPED _ MEMORY _ OBJECTS (1) -
SC
_ TZNAME _ MAX (1) -
SC
_ V6 _ ILP32 _ OFF32 (1) -
SC
_ V6 _ ILP32 _ OFFBIG (1) -
SC
_ V6 _ LP64 _ OFF64 (1) -
SC
_ V6 _ LPBIG _ OFFBIG (1) -
SC
_ V7 _ ILP32 _ OFF32 (1) -
SC
_ V7 _ ILP32 _ OFFBIG (1) -
SC
_ V7 _ LP64 _ OFF64 (1) -
SC
_ V7 _ LPBIG _ OFFBIG (1) -
SC
_ VERSION (1) -
SC
_ XOPEN _ CRYPT (1) -
SC
_ XOPEN _ ENH _ I18N (1) -
SC
_ XOPEN _ REALTIME (1) -
SC
_ XOPEN _ REALTIME _ THREADS (1) -
SC
_ XOPEN _ SHM (1) -
SC
_ XOPEN _ STREAMS (1) -
SC
_ XOPEN _ UNIX (1) -
SC
_ XOPEN _ UUCP (1) -
SC
_ XOPEN _ VERSION (1) -
SO
_ PASSCRED (2) -
SO
_ PEERCRED (2) - Signal (1)
- Stat (1)
- UNIXServer (1)
- UNIXSocket (1)
- Win32 (1)
- Win32ネイティブ版 (1)
- Win32ネイティブ版Rubyの互換性問題 (1)
- accept (1)
-
accept
_ loop (1) -
accept
_ nonblock (1) - addr (1)
- children (1)
-
clock
_ gettime (1) - crypt (1)
- ctime (1)
- delete (1)
-
drb
/ unix (1) - egd (1)
-
egd
_ bytes (1) - execute (2)
-
family
_ addrinfo (2) - filter (3)
- ftype (1)
- gecos (1)
- getpeereid (1)
-
inspect
_ sockaddr (1) - int (2)
- ip? (1)
- ipv4? (1)
- ipv6? (1)
-
ipv6
_ to _ ipv4 (1) - irb (1)
- listen (1)
- locale (1)
- locale= (1)
-
net
/ imap (1) - new (7)
- open (7)
-
pack
_ sockaddr _ un (1) - pair (1)
- path (1)
- peeraddr (1)
- popen3 (2)
- ppid (1)
- readline (1)
-
recv
_ io (1) - recvfrom (1)
- recvmsg (1)
-
remove
_ entry _ secure (1) -
ruby 1
. 6 feature (1) -
send
_ io (1) - sendmsg (1)
-
sockaddr
_ un (1) - socket? (1)
- socketpair (1)
- spawn (4)
- sum (1)
- sysaccept (1)
- unix (3)
- unix? (1)
-
unix
_ path (1) -
unix
_ rights (2) -
unix
_ server _ loop (1) -
unix
_ server _ socket (2) - unlink (1)
-
unpack
_ sockaddr _ un (1) - はじめに (1)
検索結果
先頭5件
-
irb (78307.0)
-
irb は Interactive Ruby の略です。 irb を使うと、Ruby の式を標準入力から簡単に入力・実行することができます。
irb は Interactive Ruby の略です。
irb を使うと、Ruby の式を標準入力から簡単に入力・実行することができます。
=== irb の使い方
Ruby さえ知っていれば irb を使うのは簡単です。
irb コマンドを実行すると、以下のようなプロンプトが表れます。
$ irb
irb(main):001:0>
あとは Ruby の式を入力するだけで、その式が実行され、結果が表示されます。
irb(main):001:0> 1+2
3
irb(main):002:0> class Foo
irb(main):003:1> def f... -
Unix (72292.0)
-
Unix ハッカーのおもちゃ。Unix か UNIX かはこだわりがあるらしい。ここでの Unix とは Unix そのものかあるいは互換 OS を指している。たまに platform/Cygwin を含むことがある。
Unix
ハッカーのおもちゃ。Unix か UNIX かはこだわりがあるらしい。ここでの
Unix とは Unix そのものかあるいは互換 OS を指している。たまに
platform/Cygwin を含むことがある。
RubyはもともとUnix上で開発されてきており、機能的にもファイルシステム、
プロセスの扱いなどでUnix指向な部分がある。いうなれば、Unix版Rubyがすべての
基本と言えるかもしれない。 -
Socket
:: AncillaryData # unix _ rights -> [IO] | nil (36850.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... -
Addrinfo
# unix? -> bool (36724.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 (36706.0) -
Unix domain socket の path を文字列で返します。
Unix domain socket の path を文字列で返します。
require 'socket'
Addrinfo.unix("/tmp/sock").unix_path #=> "/tmp/sock"
@raise SocketError アドレスが Unix domain socket のものでない場合に発生します -
Addrinfo
. unix(path , socktype=Socket :: SOCK _ STREAM) -> Addrinfo (36706.0) -
Unix ソケットアドレスに対応する Addrinfo オブジェクトを返します。
Unix ソケットアドレスに対応する Addrinfo オブジェクトを返します。
socktype でソケットタイプを指定します。
require 'socket'
Addrinfo.unix("/tmp/sock") #=> #<Addrinfo: /tmp/sock SOCK_STREAM>
Addrinfo.unix("/tmp/sock", :DGRAM) #=> #<Addrinfo: /tmp/sock SOCK_DGRAM>
@param path Unix ソケットのアドレス文字列
@param socktype ソケットタイプ(整数、文字... -
Socket
:: AncillaryData . unix _ rights(*ios) -> Socket :: AncillaryData (36706.0) -
ios で指定したファイルのファイルデスクリプタを データとして持つ family=AF_UNIX, level=SOL_SOCKET, type=SCM_RIGHTS という Socket::AncillaryData オブジェクトを生成して返します。
ios で指定したファイルのファイルデスクリプタを
データとして持つ family=AF_UNIX, level=SOL_SOCKET, type=SCM_RIGHTS
という Socket::AncillaryData オブジェクトを生成して返します。
require 'socket'
p Socket::AncillaryData.unix_rights(STDERR)
#=> #<Socket::AncillaryData: UNIX SOCKET RIGHTS 2>
@param ios IO オブジェクトの配列
@see Socket::AncillaryData#... -
Socket
. unix _ server _ socket(path) -> Socket (36691.0) -
Unix サーバソケットを生成します。
Unix サーバソケットを生成します。
ブロックが省略されたときは、生成されたソケットが返されます。
ブロックが渡されたときは、生成されたソケットを
引数としてブロックを呼び出します。メソッドの返り値は
ブロックの評価値となります。また、ブロックの終了後に
ソケットを IO#close します。
require 'socket'
socket = Socket.unix_server_socket("/tmp/s")
p socket #=> #<Socket:fd 3>
p socket.local_address #=> #<... -
Socket
. unix _ server _ socket(path) {|sock| . . . } -> object (36691.0) -
Unix サーバソケットを生成します。
Unix サーバソケットを生成します。
ブロックが省略されたときは、生成されたソケットが返されます。
ブロックが渡されたときは、生成されたソケットを
引数としてブロックを呼び出します。メソッドの返り値は
ブロックの評価値となります。また、ブロックの終了後に
ソケットを IO#close します。
require 'socket'
socket = Socket.unix_server_socket("/tmp/s")
p socket #=> #<Socket:fd 3>
p socket.local_address #=> #<... -
Socket
. unix(path) -> Socket (36673.0) -
Unix クライアントソケットを生成します。
Unix クライアントソケットを生成します。
ブロックが省略されたときは、生成されたソケットが返されます。
ブロックが渡されたときは、生成されたソケットを
引数としてブロックを呼び出します。メソッドの返り値は
ブロックの評価値となります。また、ブロックの終了後に
ソケットを IO#close します。
require 'socket'
# /tmp/sock と通信する
Socket.unix("/tmp/sock") {|sock|
t = Thread.new { IO.copy_stream(sock, STDOUT) }
IO.copy_stream... -
Socket
. unix(path) {|sock| . . . } -> object (36673.0) -
Unix クライアントソケットを生成します。
Unix クライアントソケットを生成します。
ブロックが省略されたときは、生成されたソケットが返されます。
ブロックが渡されたときは、生成されたソケットを
引数としてブロックを呼び出します。メソッドの返り値は
ブロックの評価値となります。また、ブロックの終了後に
ソケットを IO#close します。
require 'socket'
# /tmp/sock と通信する
Socket.unix("/tmp/sock") {|sock|
t = Thread.new { IO.copy_stream(sock, STDOUT) }
IO.copy_stream... -
Socket
. unix _ server _ loop(path) {|socket , client _ addrinfo| . . . } -> () (36652.0) -
Unix サーバソケットを生成し、 新しい接続を受け入れるごとにブロックを呼び出します。
Unix サーバソケットを生成し、
新しい接続を受け入れるごとにブロックを呼び出します。
ブロックには新しい接続を表すソケットオブジェクトと、
クライアントアドレスを表す Addrinfo オブジェクトが渡されます。
ブロックの実行が終わってもソケットは close されません。
アプリケーション側が明示的に close する必要があります。
path という名前のファイルが既に存在するときは、
そのファイルのオーナである場合は先にそのファイルを削除してしまいます。
これは path が悪意あるユーザによって変更されない場合に限りは安全です。
つまり、 /tmp/malicious-us... -
Zlib
:: OS _ UNIX -> Integer (36604.0) -
OS の種類を表す定数です。
OS の種類を表す定数です。 -
drb
/ unix (36121.0) -
DRb のプロトコルとして UNIX ドメインソケット経由で通信する drbunix が使えるようになります。
DRb のプロトコルとして UNIX ドメインソケット経由で通信する drbunix が使えるようになります。
require 'drb/unix'
obj = ''
DRb::DRbServer.new('drbunix:/tmp/hoge', obj)
DRb::DRbServer.new や DRb.#start_service が
"drbunix" スキームを受け入れるようになります。
また、DRb::DRbObject.new_with_uri でも drbunix スキームが使えるようになります。
サーバを起動するときは以下のオプションが追加で利用できます。
:... -
UNIXServer (36049.0)
-
UNIXストリーム型接続のサーバ側のソケットのクラス。
UNIXストリーム型接続のサーバ側のソケットのクラス。 -
UNIXSocket (36049.0)
-
UNIX ドメインのストリーム型ソケットのクラス。
UNIX ドメインのストリーム型ソケットのクラス。
通常の IO クラスのサブクラスと同様の入出力ができます。 -
UNIXSocket
. pair(type=Socket :: SOCK _ STREAM , protocol=0) -> [UNIXSocket , UNIXSocket] (27967.0) -
相互に結合された UNIX ソケットのペアを含む2要素の配列を返します。
相互に結合された UNIX ソケットのペアを含む2要素の配列を返します。
type にはソケットタイプを指定します。
Socket::SOCK_STREAM, Socket::SOCK_DGRAM, Socket::SOCK_RAW などの
整数、:STREAM, :DGRAM, :RAW などのシンボル、
"STREAM" などの文字列が渡せます。
protocol には プロトコルを指定します。0 は Unix domain でのデフォルト値が
使われます。
require 'socket'
s1, s2 = UNIXSocket.pair
s1.send "a", ... -
UNIXSocket
. socketpair(type=Socket :: SOCK _ STREAM , protocol=0) -> [UNIXSocket , UNIXSocket] (27967.0) -
相互に結合された UNIX ソケットのペアを含む2要素の配列を返します。
相互に結合された UNIX ソケットのペアを含む2要素の配列を返します。
type にはソケットタイプを指定します。
Socket::SOCK_STREAM, Socket::SOCK_DGRAM, Socket::SOCK_RAW などの
整数、:STREAM, :DGRAM, :RAW などのシンボル、
"STREAM" などの文字列が渡せます。
protocol には プロトコルを指定します。0 は Unix domain でのデフォルト値が
使われます。
require 'socket'
s1, s2 = UNIXSocket.pair
s1.send "a", ... -
UNIXSocket
# recv _ io(klass=IO , mode=nil) -> Integer|IO|object (27901.0) -
ソケットの接続先からファイルディスクリプタを受け取ります。
ソケットの接続先からファイルディスクリプタを受け取ります。
klass が nil の場合、ファイルディスクリプタが Integer として
返されます。
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 受け取ったファイルデ... -
Readline
. # readline(prompt = "" , add _ hist = false) -> String | nil (27649.0) -
prompt を出力し、ユーザからのキー入力を待ちます。 エンターキーの押下などでユーザが文字列を入力し終えると、 入力した文字列を返します。 このとき、add_hist が true であれば、入力した文字列を入力履歴に追加します。 何も入力していない状態で EOF(UNIX では ^D) を入力するなどで、 ユーザからの入力がない場合は nil を返します。
prompt を出力し、ユーザからのキー入力を待ちます。
エンターキーの押下などでユーザが文字列を入力し終えると、
入力した文字列を返します。
このとき、add_hist が true であれば、入力した文字列を入力履歴に追加します。
何も入力していない状態で EOF(UNIX では ^D) を入力するなどで、
ユーザからの入力がない場合は nil を返します。
本メソッドはスレッドに対応しています。
入力待ち状態のときはスレッドコンテキストの切替えが発生します。
入力時には行内編集が可能で、vi モードと Emacs モードが用意されています。
デフォルトは Emacs モードです。
... -
Addrinfo
# inspect _ sockaddr -> String (27619.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
# ipv6 _ to _ ipv4 -> Addrinfo|nil (27619.0) -
IPv6 の v4 マップド/互換アドレスを v4 のアドレスに変換します。
IPv6 の 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.ip("::1").ipv6_to_ipv4 #=> nil
Addrinfo.i... -
UNIXSocket
# send _ io(io) -> nil (27601.0) -
引数 io に対応するファイルディスクリプタをソケットの接続先に送ります。
引数 io に対応するファイルディスクリプタをソケットの接続先に送ります。
require 'socket'
s1, s2 = UNIXSocket.pair
s1.send_io STDOUT
stdout = s2.recv_io
p STDOUT.fileno #=> 1
p stdout.fileno #=> 6
stdout.puts "hello" # outputs "hello\n" to standard output.
@param io 送るファイルディスクリプタ(整数 or IOオブジェクト) -
Addrinfo
# family _ addrinfo(host , port) -> Addrinfo (27337.0) -
引数から自身に「似た」Addrinfo オブジェクトを生成します。
引数から自身に「似た」Addrinfo オブジェクトを生成します。
「似た」の意味はプロトコルファミリ、ソケットタイプ、プロトコルが
同じことを意味します。
require 'socket'
Addrinfo.tcp("0.0.0.0", 4649).family_addrinfo("www.ruby-lang.org", 80)
#=> #<Addrinfo: 221.186.184.68:80 TCP (www.ruby-lang.org:80)>
Addrinfo.unix("/tmp/sock").family_addrinfo("/tmp/sock2")... -
Addrinfo
# family _ addrinfo(path) -> Addrinfo (27337.0) -
引数から自身に「似た」Addrinfo オブジェクトを生成します。
引数から自身に「似た」Addrinfo オブジェクトを生成します。
「似た」の意味はプロトコルファミリ、ソケットタイプ、プロトコルが
同じことを意味します。
require 'socket'
Addrinfo.tcp("0.0.0.0", 4649).family_addrinfo("www.ruby-lang.org", 80)
#=> #<Addrinfo: 221.186.184.68:80 TCP (www.ruby-lang.org:80)>
Addrinfo.unix("/tmp/sock").family_addrinfo("/tmp/sock2")... -
UNIXServer
# listen(backlog) -> 0 (27301.0) -
listen(2) を実行します。 (Socket#listenと同じ)
listen(2) を実行します。
(Socket#listenと同じ)
backlog は、クライアントからの接続要求を保留できる数です。
listen(2) が成功すれば 0 を返します。
失敗すれば 例外 Errno::EXXX が発生します。
@param backlog バックログの最大数(接続要求を保留できる数) -
UNIXSocket
# recvfrom(maxlen , flags = 0) -> [String [String , String]] (18901.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... -
UNIXSocket
# addr -> [String , String] (18703.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 #=> [... -
File
:: Stat # ctime -> Time (18697.0) -
最終状態変更時刻を返します。 (状態の変更とは chmod などによるもので、Unix では i-node の変更を意味します)
最終状態変更時刻を返します。
(状態の変更とは chmod などによるもので、Unix では i-node の変更を意味します)
//emlist[][ruby]{
fs = File::Stat.new($0)
#例
p fs.ctime.to_f #=> 1188719843.0
//}
@see Time -
UNIXSocket
# peeraddr -> [String , String] (18685.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
:: AF _ UNIX -> Integer (18673.0) -
Unix domain socket。 Socket.open の第一引数 domain に使用します。
Unix domain socket。
Socket.open の第一引数 domain に使用します。
@see sys/socket.h(header), unix(7linux) -
Socket
:: Constants :: AF _ UNIX -> Integer (18673.0) -
Unix domain socket。 Socket.open の第一引数 domain に使用します。
Unix domain socket。
Socket.open の第一引数 domain に使用します。
@see sys/socket.h(header), unix(7linux) -
Socket
:: Constants :: PF _ UNIX -> Integer (18673.0) -
Unix domain socket。 Socket.open の第一引数 domain に使用します。
Unix domain socket。
Socket.open の第一引数 domain に使用します。
@see sys/socket.h(header), unix(7linux) -
Socket
:: PF _ UNIX -> Integer (18673.0) -
Unix domain socket。 Socket.open の第一引数 domain に使用します。
Unix domain socket。
Socket.open の第一引数 domain に使用します。
@see sys/socket.h(header), unix(7linux) -
Socket
:: AncillaryData . int(family , cmsg _ level , cmsg _ type , integer) -> Socket :: AncillaryData (18637.0) -
データとして整数を保持する Socket::AncillaryData オブジェクトを生成します。
データとして整数を保持する
Socket::AncillaryData オブジェクトを生成します。
整数データのサイズおよびエンディアンは実行するホストによって異なります。
require 'socket'
p Socket::AncillaryData.int(:UNIX, :SOCKET, :RIGHTS, STDERR.fileno)
#=> #<Socket::AncillaryData: UNIX SOCKET RIGHTS 2>
@param family ソケットファミリー
@param cmsg_level プロトコル
@param cmsg_type 補... -
Socket
:: AncillaryData # int -> Integer (18619.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... -
Etc
:: SC _ AIO _ LISTIO _ MAX -> Integer (18607.0) -
Etc.#sysconf の引数に指定します。
Etc.#sysconf の引数に指定します。
詳細は sysconf(3) を参照してください。 -
Etc
:: SC _ AIO _ PRIO _ DELTA _ MAX -> Integer (18607.0) -
Etc.#sysconf の引数に指定します。
Etc.#sysconf の引数に指定します。
詳細は sysconf(3) を参照してください。 -
Etc
:: SC _ PRIORITIZED _ IO -> Integer (18607.0) -
Etc.#sysconf の引数に指定します。
Etc.#sysconf の引数に指定します。
詳細は sysconf(3) を参照してください。 -
Etc
:: SC _ V6 _ LPBIG _ OFFBIG -> Integer (18607.0) -
Etc.#sysconf の引数に指定します。
Etc.#sysconf の引数に指定します。
詳細は sysconf(3) を参照してください。 -
Etc
:: SC _ V7 _ LPBIG _ OFFBIG -> Integer (18607.0) -
Etc.#sysconf の引数に指定します。
Etc.#sysconf の引数に指定します。
詳細は sysconf(3) を参照してください。 -
Etc
:: SC _ XOPEN _ UNIX -> Integer (18607.0) -
Etc.#sysconf の引数に指定します。
Etc.#sysconf の引数に指定します。
詳細は sysconf(3) を参照してください。 -
UNIXServer
# accept -> UnixSocket (18601.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... -
UNIXServer
# accept _ nonblock -> UnixSocket (18601.0) -
ソケットをノンブロッキングモードに設定した後、 accept(2) を呼び出します。
ソケットをノンブロッキングモードに設定した後、
accept(2) を呼び出します。
接続した
UNIXSocket のインスタンスを返します。
accept(2) がエラーになった場合、Socket#accept と同じ例外が
発生します。
Errno::EWOULDBLOCK, Errno::EAGAIN,
Errno::ECONNABORTED, Errno::EPROTO のいずれかの例外が
発生した場合は、その例外には IO::WaitReadable が extend
されます。それを利用してリトライ可能な例外を掴まえることができます。
require 'socket... -
UNIXServer
. new(path) -> UNIXServer (18601.0) -
path で指定したパス名を用いて接続を受け付けるソケット を作成します。
path で指定したパス名を用いて接続を受け付けるソケット
を作成します。
ブロックを省略すると作成したサーバソケットを返します。
ブロックを渡した場合は、作成したソケットを引数としてそのブロックを呼びだし、
ブロック終了時にソケットを閉じます。この場合には
ブロックの評価値を返り値として返します。
@param path 接続を受け付けるパス名文字列
require 'socket'
serv = UNIXServer.new("/tmp/sock")
s = serv.accept
p s.read -
UNIXServer
. open(path) -> UNIXServer (18601.0) -
path で指定したパス名を用いて接続を受け付けるソケット を作成します。
path で指定したパス名を用いて接続を受け付けるソケット
を作成します。
ブロックを省略すると作成したサーバソケットを返します。
ブロックを渡した場合は、作成したソケットを引数としてそのブロックを呼びだし、
ブロック終了時にソケットを閉じます。この場合には
ブロックの評価値を返り値として返します。
@param path 接続を受け付けるパス名文字列
require 'socket'
serv = UNIXServer.new("/tmp/sock")
s = serv.accept
p s.read -
UNIXSocket
. new(path) -> UNIXSocket (18601.0) -
path で指定したパス名を用いてソケットを接続します。
path で指定したパス名を用いてソケットを接続します。
ブロックを省略すると接続したソケットを返します。
ブロックを渡した場合は、接続したソケットを引数としてそのブロックを呼びだし、
ブロック終了時にソケットを閉じます。この場合には
ブロックの評価値を返り値として返します。
@param path 接続先のパス名文字列
require 'socket'
s = UNIXSocket.new("/tmp/sock")
s.send("hello", 0) -
UNIXSocket
. open(path) -> UNIXSocket (18601.0) -
path で指定したパス名を用いてソケットを接続します。
path で指定したパス名を用いてソケットを接続します。
ブロックを省略すると接続したソケットを返します。
ブロックを渡した場合は、接続したソケットを引数としてそのブロックを呼びだし、
ブロック終了時にソケットを閉じます。この場合には
ブロックの評価値を返り値として返します。
@param path 接続先のパス名文字列
require 'socket'
s = UNIXSocket.new("/tmp/sock")
s.send("hello", 0) -
Kernel
$ $ -I -> [String] (18394.0) -
Rubyライブラリをロードするときの検索パスです。
Rubyライブラリをロードするときの検索パスです。
Kernel.#load や Kernel.#require
がファイルをロードする時に検索するディレクトリのリストを含む配列です。
起動時にはコマンドラインオプション -I で指定したディレクトリ、
環境変数 RUBYLIB の値、
コンパイル時に指定したデフォルト値
をこの順番で含みます。
以下に典型的な UNIX システム上でのロードパスを示します。
-I で指定したパス
環境変数 RUBYLIB の値
/usr/local/lib/ruby/site_ruby/VERSION サイト固有、バージョン依... -
BasicSocket
# getpeereid -> [Integer , Integer] (18385.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 ... -
Socket
:: Constants :: SCM _ RIGHTS -> Integer (18355.0) -
Access rights.
Access rights.
Socket::AncillaryData の type として利用します。
@see Socket::AncillaryData, Socket::AncillaryData#unix_rights
BasicSocket#sendmsg, BasicSocket#recvmsg,
unix(7linux), unix(4freebsd),
sys/socket.h(header) -
Socket
:: SCM _ RIGHTS -> Integer (18355.0) -
Access rights.
Access rights.
Socket::AncillaryData の type として利用します。
@see Socket::AncillaryData, Socket::AncillaryData#unix_rights
BasicSocket#sendmsg, BasicSocket#recvmsg,
unix(7linux), unix(4freebsd),
sys/socket.h(header) -
CSV
. filter(input , options = Hash . new) {|row| . . . } (18349.0) -
このメソッドは CSV データに対して Unix のツール群のようなフィルタを構築 するのに便利です。
このメソッドは CSV データに対して Unix のツール群のようなフィルタを構築
するのに便利です。
与えられたブロックに一行ずつ渡されます。ブロックに渡された行は必要であ
れば変更することができます。ブロックの評価後に行を全て output に書き込
みます。
@param input String か IO のインスタンスを指定します。
デフォルトは ARGF です。
@param output String か IO のインスタンスを指定します。
デフォルトは $stdout です。
@param options ":in... -
CSV
. filter(input , output , options = Hash . new) {|row| . . . } (18349.0) -
このメソッドは CSV データに対して Unix のツール群のようなフィルタを構築 するのに便利です。
このメソッドは CSV データに対して Unix のツール群のようなフィルタを構築
するのに便利です。
与えられたブロックに一行ずつ渡されます。ブロックに渡された行は必要であ
れば変更することができます。ブロックの評価後に行を全て output に書き込
みます。
@param input String か IO のインスタンスを指定します。
デフォルトは ARGF です。
@param output String か IO のインスタンスを指定します。
デフォルトは $stdout です。
@param options ":in... -
CSV
. filter(options = Hash . new) {|row| . . . } (18349.0) -
このメソッドは CSV データに対して Unix のツール群のようなフィルタを構築 するのに便利です。
このメソッドは CSV データに対して Unix のツール群のようなフィルタを構築
するのに便利です。
与えられたブロックに一行ずつ渡されます。ブロックに渡された行は必要であ
れば変更することができます。ブロックの評価後に行を全て output に書き込
みます。
@param input String か IO のインスタンスを指定します。
デフォルトは ARGF です。
@param output String か IO のインスタンスを指定します。
デフォルトは $stdout です。
@param options ":in... -
Process
. # ppid -> Integer (18349.0) -
親プロセスのプロセス ID を返します。UNIX では実際の親プロセスが終 了した後は ppid は 1 (initの pid)になります。
親プロセスのプロセス ID を返します。UNIX では実際の親プロセスが終
了した後は ppid は 1 (initの pid)になります。
@see getppid(2) -
Tempfile
# unlink -> self (18349.0) -
テンポラリファイルをクローズせずに、削除します。 UNIXライクなシステムでは、 作成したテンポラリファイルが他のプログラムに使用される機会をなくすために、 テンポラリファイルを作成しオープンした後、 すぐに削除するということがしばしばおこなわれます。
テンポラリファイルをクローズせずに、削除します。
UNIXライクなシステムでは、
作成したテンポラリファイルが他のプログラムに使用される機会をなくすために、
テンポラリファイルを作成しオープンした後、
すぐに削除するということがしばしばおこなわれます。
require "tempfile"
tf = Tempfile.new("foo")
tf.unlink
p tf.path # => nil
tf.print("foobar,hoge\n")
tf.rewind
p tf.gets("\n") # => "foobar,hoge\n" -
UNIXSocket
# path -> String (18349.0) -
UNIX ソケットのパスを返します。
UNIX ソケットのパスを返します。
クライアント側はパスを持たないため空文字列となります。
例:
require 'socket'
UNIXServer.open("/tmp/s") {|serv|
p serv.path #=> "/tmp/s"
} -
Addrinfo
# ip? -> bool (18337.0) -
アドレスが IP (v4/v6) のものならば true を返します。
アドレスが IP (v4/v6) のものならば true を返します。
require 'socket'
Addrinfo.tcp("127.0.0.1", 80).ip? #=> true
Addrinfo.tcp("::1", 80).ip? #=> true
Addrinfo.unix("/tmp/sock").ip? #=> false
@see Addrinfo#ipv4?, Addrinfo#ipv6?, Addrinfo#unix? -
Pathname
# children(with _ directory = true) -> [Pathname] (18337.0) -
self 配下にあるパス名(Pathnameオブジェクト)の配列を返します。
self 配下にあるパス名(Pathnameオブジェクト)の配列を返します。
ただし、 ".", ".." は要素に含まれません。
@param with_directory 偽を指定するとファイル名のみ返します。デフォルトは真です。
@raise Errno::EXXX self が存在しないパスであったりディレクトリでなければ例外が発生します。
//emlist[例][ruby]{
require 'pathname'
Pathname.new("/tmp").children # => [#<Pathname:.X11-unix>, #<Pathname:.iroha_unix>... -
Process
. # clock _ gettime(clock _ id , unit=:float _ second) -> Float | Integer (18337.0) -
POSIX の clock_gettime() 関数の時間を返します。
POSIX の clock_gettime() 関数の時間を返します。
例:
p Process.clock_gettime(Process::CLOCK_MONOTONIC) #=> 896053.968060096
@param clock_id クロックの種類を以下の定数のいずれかで指定します。
サポートされている定数は OS やバージョンに依存します。
: Process::CLOCK_REALTIME
SUSv2 to 4, Linux 2.5.63, FreeBSD 3.0, NetBSD 2.0, OpenBSD 2.1, macOS... -
Addrinfo
# ipv4? -> bool (18319.0) -
アドレスが IPv4 のものならば true を返します。
アドレスが IPv4 のものならば true を返します。
@see Addrinfo#ip?, Addrinfo#ipv6?
require 'socket'
Addrinfo.tcp("127.0.0.1", 80).ipv4? #=> true
Addrinfo.tcp("::1", 80).ipv4? #=> false
Addrinfo.unix("/tmp/sock").ipv4? #=> false -
Addrinfo
# ipv6? -> bool (18319.0) -
アドレスが IPv6 のものならば true を返します。
アドレスが IPv6 のものならば true を返します。
require 'socket'
Addrinfo.tcp("127.0.0.1", 80).ipv6? #=> false
Addrinfo.tcp("::1", 80).ipv6? #=> true
Addrinfo.unix("/tmp/sock").ipv6? #=> false
@see Addrinfo#ipv4?, Addrinfo#ip? -
Socket
:: Constants :: SCM _ CREDENTIALS -> Integer (18319.0) -
The sender's credentials
The sender's credentials
Socket::AncillaryData の type として利用します。
@see Socket::AncillaryData,
BasicSocket#sendmsg, BasicSocket#recvmsg,
unix(7linux) -
Socket
:: SCM _ CREDENTIALS -> Integer (18319.0) -
The sender's credentials
The sender's credentials
Socket::AncillaryData の type として利用します。
@see Socket::AncillaryData,
BasicSocket#sendmsg, BasicSocket#recvmsg,
unix(7linux) -
UNIXServer
# sysaccept -> Integer (18301.0) -
接続したクライアントのソケットをファイル記述子で返すことを除けば UNIXServer#accept と同じです。
接続したクライアントのソケットをファイル記述子で返すことを除けば
UNIXServer#accept と同じです。
例:
require 'socket'
UNIXServer.open("/tmp/s") {|serv|
c = UNIXSocket.open("/tmp/s")
p serv.sysaccept #=> 6
} -
Cygwin (18247.0)
-
Cygwin Win32 上で platform/Unix をエミュレートする環境。Windows 上でまさに Unix を使っているような感覚が味わえる。GNU ユーティリティのおかげで下手な商 用 Unix よりもある意味使いやすい。Cygwin環境でコンパイルされた実行ファ イルは cygwin1.dll がリンクされ、この DLL が Unix のシステムコー ル等をエミュレートしてくれる。
Cygwin
Win32 上で platform/Unix をエミュレートする環境。Windows 上でまさに Unix
を使っているような感覚が味わえる。GNU ユーティリティのおかげで下手な商
用 Unix よりもある意味使いやすい。Cygwin環境でコンパイルされた実行ファ
イルは cygwin1.dll がリンクされ、この DLL が Unix のシステムコー
ル等をエミュレートしてくれる。
Cygwin を使う人にとって本当に必要な環境が Unix なのか Windows なのかは
謎。(何事も行き過ぎはよくない。中間こそが心地よいのかもしれない)
http://cygwin... -
Win32ネイティブ版Rubyの互換性問題 (18067.0)
-
Win32ネイティブ版Rubyの互換性問題 platform/Win32-nativeRubyは、できる限りUnix版と同等の動作をするように 意図して作られていますが、 OS自体の制限などにより、いくつかの非互換性があります。また、実装上の制限・ バグもいくつか残っているようです。
Win32ネイティブ版Rubyの互換性問題
platform/Win32-nativeRubyは、できる限りUnix版と同等の動作をするように
意図して作られていますが、
OS自体の制限などにより、いくつかの非互換性があります。また、実装上の制限・
バグもいくつか残っているようです。
注意: このドキュメントは現状では不充分です。気づいたことのあるひとは
どんどん書き足してください。
== プロセスの扱い
最も重要な違いとして、fork が動作しないことがあげられます。Unix向けに書かれている
デーモン系のアプリケーションが動かないのはこれが原因であることが多いでしょう。
== ... -
Win32 (18055.0)
-
Win32 32 ビットアーキテクチャ上で動作する Windows 95/98/Me/NT/2000/XP などを総称して Win32 システムと呼びます。
Win32
32 ビットアーキテクチャ上で動作する
Windows 95/98/Me/NT/2000/XP などを総称して Win32 システムと呼びます。
なお現在は Win64 システム (x64 と IA64) も存在します。
Win32 用の Ruby は大きく分けると
* platform/Cygwin 版
* platform/Win32-native Ruby
の二種類があります。
このマニュアルの本文で断りなく Win32 版と言うときは
Win32 ネイティブ版を指すものとします。
Cygwin はそもそも Unix 互換レイヤを目指して開発されているので... -
Signal (18049.0)
-
UNIX のシグナル関連の操作を行うモジュールです。
UNIX のシグナル関連の操作を行うモジュールです。 -
IO (18037.0)
-
基本的な入出力機能のためのクラスです。
基本的な入出力機能のためのクラスです。
File::Constants は、File から IO へ移動しました。
===[a:m17n] 多言語化と IO のエンコーディング
IO オブジェクトはエンコーディングを持ちます。
エンコーディングの影響を受けるメソッドと受けないメソッドがあります。
影響を受けるメソッドでは、IO のエンコーディングに従い読み込まれた文字列のエンコーディングが決定されます。
また IO のエンコーディングを適切に設定することにより、読み込み時・書き込み時に文字列のエンコーディングを
変換させることもできます。
==== エンコーディングの影響を受けるメ... -
Win32ネイティブ版 (18037.0)
-
Win32ネイティブ版 Win32 版 Ruby を Cygwin 版と比較すると以下の利点があります。
Win32ネイティブ版
Win32 版 Ruby を Cygwin 版と比較すると以下の利点があります。
* Cygwin DLL が必要ない
* 微妙に高速 (特に I/O は速い)
* 安定している
欠点は以下の通りです。
* Unix 版との互換性が非常に低い (ある意味、当然)
この点については platform/mswin32-compat も参照してください。
現在 Win32 ネイティブな Ruby で広く配布されているものには、
Visual C++ で構築した platform/mswin32 版と
gcc でコンパイルした platform/Mi... -
Addrinfo (18019.0)
-
ソケットのアドレス情報を保持するクラスです。
ソケットのアドレス情報を保持するクラスです。
ホスト/ポート番号/プロトコルなどを同定するために用いられます。
IPv4/IPv6/Unix domain socketなどのアドレス情報を保持することができます。
struct addrinfo に対応します。 -
Fiddle (18019.0)
-
fiddle の名前空間をなすモジュールです。
fiddle の名前空間をなすモジュールです。
UNIX の dlopen(3) や Windows の LoadLibrary()
などのダイナミックリンカへの低レベルなインターフェースを提供するモジュールです。 -
FileUtils
. # remove _ entry _ secure(path , force = false) -> () (18019.0) -
ファイル path を削除します。path がディレクトリなら再帰的に削除します。
ファイル path を削除します。path がディレクトリなら再帰的に削除します。
FileUtils.#rm_r および FileUtils.#remove_entry には
TOCTTOU (time-of-check to time-of-use)脆弱性が存在します。
このメソッドはそれを防ぐために新設されました。
FileUtils.#rm_r および FileUtils.#remove_entry は以下の条件が
満たされるときにはセキュリティホールになりえます。
* 親ディレクトリが全ユーザから書き込み可能 (/tmp を含む)
* path 以下のいずれかのディレク... -
net
/ imap (18019.0) -
このライブラリは Internet Message Access Protocol (IMAP) の クライアントライブラリです。2060 を元に 実装されています。
このライブラリは Internet Message Access Protocol (IMAP) の
クライアントライブラリです。2060 を元に
実装されています。
=== IMAP の概要
IMAPを利用するには、まずサーバに接続し、
Net::IMAP#authenticate もしくは
Net::IMAP#login で認証します。
IMAP ではメールボックスという概念が重要です。
メールボックスは階層的な名前を持ちます。
各メールボックスはメールを保持することができます。
メールボックスの実装はサーバソフトウェアによって異なります。
Unixシステムでは、ディレクトリ階層上の
... -
UNIXServer
. new(path) {|sock| . . . } -> object (18001.0) -
path で指定したパス名を用いて接続を受け付けるソケット を作成します。
path で指定したパス名を用いて接続を受け付けるソケット
を作成します。
ブロックを省略すると作成したサーバソケットを返します。
ブロックを渡した場合は、作成したソケットを引数としてそのブロックを呼びだし、
ブロック終了時にソケットを閉じます。この場合には
ブロックの評価値を返り値として返します。
@param path 接続を受け付けるパス名文字列
require 'socket'
serv = UNIXServer.new("/tmp/sock")
s = serv.accept
p s.read -
UNIXServer
. open(path) {|sock| . . . } -> object (18001.0) -
path で指定したパス名を用いて接続を受け付けるソケット を作成します。
path で指定したパス名を用いて接続を受け付けるソケット
を作成します。
ブロックを省略すると作成したサーバソケットを返します。
ブロックを渡した場合は、作成したソケットを引数としてそのブロックを呼びだし、
ブロック終了時にソケットを閉じます。この場合には
ブロックの評価値を返り値として返します。
@param path 接続を受け付けるパス名文字列
require 'socket'
serv = UNIXServer.new("/tmp/sock")
s = serv.accept
p s.read -
UNIXSocket
. new(path) {|sock| . . . } -> object (18001.0) -
path で指定したパス名を用いてソケットを接続します。
path で指定したパス名を用いてソケットを接続します。
ブロックを省略すると接続したソケットを返します。
ブロックを渡した場合は、接続したソケットを引数としてそのブロックを呼びだし、
ブロック終了時にソケットを閉じます。この場合には
ブロックの評価値を返り値として返します。
@param path 接続先のパス名文字列
require 'socket'
s = UNIXSocket.new("/tmp/sock")
s.send("hello", 0) -
UNIXSocket
. open(path) {|sock| . . . } -> object (18001.0) -
path で指定したパス名を用いてソケットを接続します。
path で指定したパス名を用いてソケットを接続します。
ブロックを省略すると接続したソケットを返します。
ブロックを渡した場合は、接続したソケットを引数としてそのブロックを呼びだし、
ブロック終了時にソケットを閉じます。この場合には
ブロックの評価値を返り値として返します。
@param path 接続先のパス名文字列
require 'socket'
s = UNIXSocket.new("/tmp/sock")
s.send("hello", 0) -
BasicSocket
# recvmsg(maxmesglen=nil , flags=0 , maxcontrollen=nil , opts={}) -> [String , Addrinfo , Integer , *Socket :: AncillaryData] (9937.0) -
recvmsg(2) を用いてメッセージを受け取ります。
recvmsg(2) を用いてメッセージを受け取ります。
このメソッドはブロックします。ノンブロッキング方式で通信したい
場合は BasicSocket#recvmsg_nonblock を用います。
maxmesglen, maxcontrollen で受け取るメッセージおよび補助データ
(Socket::AncillaryData)の最大長をバイト単位で指定します。
省略した場合は必要なだけ内部バッファを拡大して
データが切れないようにします。
flags では Socket::MSG_* という名前の定数の biwsise OR を取った
ものを渡します。
opts にはその他... -
Socket
:: AncillaryData . new(family , cmsg _ level , cmsg _ type , cmsg _ data) -> Socket :: AncillaryData (9691.0) -
新たな Socket::AncillaryData オブジェクトを生成します。
新たな Socket::AncillaryData オブジェクトを生成します。
family はソケットファミリーを指定します。
整数、文字列、シンボルを渡します。
* Socket::AF_INET, "AF_INET", "INET", :AF_INET, :INET
* Socket::AF_UNIX, "AF_UNIX", "UNIX", :AF_UNIX, :UNIX
* など
cmsg_level にはメッセージの元となるプロトコルを指定します。
整数、文字列、シンボルを渡します。
* Socket::SOL_SOCKET, "SOL_SOCKET", "SOCKET... -
Etc
:: SC _ 2 _ C _ BIND -> Integer (9607.0) -
Etc.#sysconf の引数に指定します。
Etc.#sysconf の引数に指定します。
詳細は sysconf(3) を参照してください。 -
Etc
:: SC _ 2 _ PBS _ ACCOUNTING -> Integer (9607.0) -
Etc.#sysconf の引数に指定します。
Etc.#sysconf の引数に指定します。
詳細は sysconf(3) を参照してください。 -
Etc
:: SC _ 2 _ PBS _ CHECKPOINT -> Integer (9607.0) -
Etc.#sysconf の引数に指定します。
Etc.#sysconf の引数に指定します。
詳細は sysconf(3) を参照してください。 -
Etc
:: SC _ BC _ STRING _ MAX -> Integer (9607.0) -
Etc.#sysconf の引数に指定します。
Etc.#sysconf の引数に指定します。
詳細は sysconf(3) を参照してください。 -
Etc
:: SC _ LINE _ MAX -> Integer (9607.0) -
Etc.#sysconf の引数に指定します。
Etc.#sysconf の引数に指定します。
詳細は sysconf(3) を参照してください。 -
Etc
:: SC _ LOGIN _ NAME _ MAX -> Integer (9607.0) -
Etc.#sysconf の引数に指定します。
Etc.#sysconf の引数に指定します。
詳細は sysconf(3) を参照してください。 -
Etc
:: SC _ MESSAGE _ PASSING -> Integer (9607.0) -
Etc.#sysconf の引数に指定します。
Etc.#sysconf の引数に指定します。
詳細は sysconf(3) を参照してください。 -
Etc
:: SC _ SPIN _ LOCKS -> Integer (9607.0) -
Etc.#sysconf の引数に指定します。
Etc.#sysconf の引数に指定します。
詳細は sysconf(3) を参照してください。 -
Etc
:: SC _ THREAD _ STACK _ MIN -> Integer (9607.0) -
Etc.#sysconf の引数に指定します。
Etc.#sysconf の引数に指定します。
詳細は sysconf(3) を参照してください。 -
Etc
:: SC _ TRACE _ INHERIT -> Integer (9607.0) -
Etc.#sysconf の引数に指定します。
Etc.#sysconf の引数に指定します。
詳細は sysconf(3) を参照してください。 -
Kernel
$ $ : -> [String] (9394.0) -
Rubyライブラリをロードするときの検索パスです。
Rubyライブラリをロードするときの検索パスです。
Kernel.#load や Kernel.#require
がファイルをロードする時に検索するディレクトリのリストを含む配列です。
起動時にはコマンドラインオプション -I で指定したディレクトリ、
環境変数 RUBYLIB の値、
コンパイル時に指定したデフォルト値
をこの順番で含みます。
以下に典型的な UNIX システム上でのロードパスを示します。
-I で指定したパス
環境変数 RUBYLIB の値
/usr/local/lib/ruby/site_ruby/VERSION サイト固有、バージョン依... -
Kernel
$ $ LOAD _ PATH -> [String] (9394.0) -
Rubyライブラリをロードするときの検索パスです。
Rubyライブラリをロードするときの検索パスです。
Kernel.#load や Kernel.#require
がファイルをロードする時に検索するディレクトリのリストを含む配列です。
起動時にはコマンドラインオプション -I で指定したディレクトリ、
環境変数 RUBYLIB の値、
コンパイル時に指定したデフォルト値
をこの順番で含みます。
以下に典型的な UNIX システム上でのロードパスを示します。
-I で指定したパス
環境変数 RUBYLIB の値
/usr/local/lib/ruby/site_ruby/VERSION サイト固有、バージョン依... -
Encoding
:: EUCJP _ MS -> Encoding (9349.0) -
eucJP-ms、Unix 系で用いられる、日本語 EUC 亜種です。
eucJP-ms、Unix 系で用いられる、日本語 EUC 亜種です。
EUC-JPに加え、Windowsの機種依存文字とユーザ定義文字を扱うことができます。
@see http://www2d.biglobe.ne.jp/~msyk/charcode/cp932/eucJP-ms.html,
http://legacy-encoding.osdn.jp/wiki/index.php?eucJP-ms,
http://blog.livedoor.jp/numa2666/archives/50980727.html -
Encoding
:: EUC _ JP _ MS -> Encoding (9349.0) -
eucJP-ms、Unix 系で用いられる、日本語 EUC 亜種です。
eucJP-ms、Unix 系で用いられる、日本語 EUC 亜種です。
EUC-JPに加え、Windowsの機種依存文字とユーザ定義文字を扱うことができます。
@see http://www2d.biglobe.ne.jp/~msyk/charcode/cp932/eucJP-ms.html,
http://legacy-encoding.osdn.jp/wiki/index.php?eucJP-ms,
http://blog.livedoor.jp/numa2666/archives/50980727.html -
Encoding
:: EucJP _ ms -> Encoding (9349.0) -
eucJP-ms、Unix 系で用いられる、日本語 EUC 亜種です。
eucJP-ms、Unix 系で用いられる、日本語 EUC 亜種です。
EUC-JPに加え、Windowsの機種依存文字とユーザ定義文字を扱うことができます。
@see http://www2d.biglobe.ne.jp/~msyk/charcode/cp932/eucJP-ms.html,
http://legacy-encoding.osdn.jp/wiki/index.php?eucJP-ms,
http://blog.livedoor.jp/numa2666/archives/50980727.html -
File
:: ALT _ SEPARATOR -> "\\" | nil (9349.0) -
システムのファイルパスのセパレータが SEPARATOR と異なる場合 に設定されます。MS-DOS などでは "\\" です。UNIX や Cygwin などでは nil です。
システムのファイルパスのセパレータが SEPARATOR と異なる場合
に設定されます。MS-DOS などでは "\\" です。UNIX や Cygwin などでは nil です。 -
IRB
:: ExtendCommand :: PopWorkspace # execute(*obj) -> [IRB :: WorkSpace] (9349.0) -
UNIX シェルコマンドの popd と同じです。
UNIX シェルコマンドの popd と同じです。
@param obj 使用しません。 -
IRB
:: ExtendCommand :: PushWorkspace # execute(*obj) -> [IRB :: WorkSpace] (9349.0) -
UNIX シェルコマンドの pushd と同じです。
UNIX シェルコマンドの pushd と同じです。
@param obj IRB::WorkSpace オブジェクトを指定します。複数指定した
場合は先頭のオブジェクトのみが設定されます。