561件ヒット
[1-100件を表示]
(0.096秒)
ライブラリ
クラス
-
ARGF
. class (24) - BasicSocket (60)
- IO (60)
-
OpenSSL
:: SSL :: SSLSocket (48) - Socket (36)
- StringIO (36)
- TCPServer (12)
-
Thread
:: Queue (36) -
Thread
:: SizedQueue (36) - ThreadsWait (6)
- UDPSocket (12)
- UNIXServer (12)
モジュール
- Fcntl (24)
-
File
:: Constants (12) -
OpenSSL
:: Buffering (24)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (12) - ErrNoFinishedThread (6)
- IO (12)
-
NEWS for Ruby 2
. 2 . 0 (11) -
NEWS for Ruby 2
. 3 . 0 (10) -
O
_ NDELAY (12) -
O
_ NONBLOCK (12) - WaitReadable (12)
- WaitWritable (12)
- accept (12)
-
accept
_ nonblock (48) - connect (12)
-
connect
_ nonblock (24) - deq (24)
- fcntl (24)
-
next
_ wait (6) - nonblock (12)
- pop (24)
-
read
_ nonblock (48) - readpartial (24)
-
recv
_ nonblock (12) -
recvfrom
_ nonblock (24) - recvmsg (12)
-
recvmsg
_ nonblock (12) -
ruby 1
. 6 feature (12) -
ruby 1
. 8 . 3 feature (12) -
ruby 1
. 8 . 5 feature (12) - sendmsg (12)
-
sendmsg
_ nonblock (12) - shift (24)
- syswrite (12)
-
write
_ nonblock (36)
検索結果
先頭5件
-
File
:: Constants :: NONBLOCK -> Integer (21201.0) -
ファイルが利用可能じゃなくてもブロックしません。 File.openで使用します。
ファイルが利用可能じゃなくてもブロックしません。
File.openで使用します。 -
IO
# write _ nonblock(string , exception: true) -> Integer | :wait _ writable (12307.0) -
IO をノンブロッキングモードに設定し、string を write(2) システムコールで書き出します。
...し、string を write(2) システムコールで書き出します。
write(2) が成功した場合、書き込んだ長さを返します。
EAGAIN, EINTR などは例外 Errno::EXXX として呼出元に報告されます。
書き込んだバイト数(つまり返り値)は String#bytesize......ジェクトに IO::WaitWritable が Object#extend
されます。よって IO::WaitWritable を write_nonblock のリトライが必要
かの判定に用いることができます。
@param string 自身に書き込みたい文字列を指定します。
@param exception false を指定する......込み時に Errno::EAGAIN、Errno::EWOULDBLOCK が発生
する代わりに :wait_writable を返します。
@raise IOError 自身が書き込み用にオープンされていなければ発生します。
@raise Errno::EXXX write(2) が失敗した場合に発生します。... -
OpenSSL
:: Buffering # write _ nonblock(s) -> Integer (12307.0) -
文字列 s をノンブロッキングモードで書き込みます。
...で
ブロックする可能性があります。
基本的には IO#write_nonblock と同様です。しかし以下のような
違いもあります。
このメソッドはソケットが読み込み不可能(IO::WaitReadable)
という理由で
例外を発生させる可能性があります......る場合に発生します。
読み込み可能状態を待つ必要がある場合には IO::WaitReadable を、
書き込み可能状態を待つ必要がある場合には IO::WaitWritable を、
それぞれ extend した例外オブジェクトが生成されます。... -
Socket
# connect _ nonblock(server _ sockaddr) -> 0 (12219.0) -
ソケットをノンブロッキングモードに設定した後、 connect(2) を呼び出します。
...した後、
connect(2) を呼び出します。
引数、返り値は Socket#connect と同じです。
connect が EINPROGRESS エラーを報告した場合、その例外(Errno::EINPROGRESS)
には IO::WaitWritable が Object#extend されます。
これを connect_nonblock をリトライす......socket'
include Socket::Constants
socket = Socket.new(AF_INET, SOCK_STREAM, 0)
sockaddr = Socket.sockaddr_in(80, 'www.google.com')
begin # emulate blocking connect
socket.connect_nonblock(sockaddr)
rescue IO::WaitWritable
IO.select(nil, [socket]) # wait 3-way handshake completion......begin
socket.connect_nonblock(sockaddr) # check connection failure
rescue Errno::EISCONN
end
end
socket.write("GET / HTTP/1.0\r\n\r\n")
results = socket.read
@param server_sockaddr 接続先アドレス
@raise Errno::EXXX connect(2) がエラーを報告した場合に発... -
OpenSSL
:: SSL :: SSLSocket # accept _ nonblock -> self (12207.0) -
ノンブロッキング方式で TLS/SSL 通信をサーバモードとして開始し、 クライアントとのハンドシェイクを実行します。
...ノンブロッキング方式で
TLS/SSL 通信をサーバモードとして開始し、
クライアントとのハンドシェイクを実行します。
IO が読み込み待ち、もしくは書き込み待ちになった場合は例外を
発生させ、ハンドシェイクを中断しま......extend した
例外オブジェクトが生成されます)
@raise OpenSSL::SSL::SSLError ソケットが読み込み/書き込み可能状態になるのを
待つ必要がある場合に発生します。
読み込み可能状態を待つ必要がある場合には IO::WaitRe......adable を、
書き込み可能状態を待つ必要がある場合には IO::WaitWritable を、
それぞれ extend した例外オブジェクトが生成されます。
@see OpenSSL::SSL::SSLSocket#connect_nonblock,
OpenSSL::SSL::SSLSocket#accept... -
OpenSSL
:: SSL :: SSLSocket # connect _ nonblock -> self (12207.0) -
ノンブロッキング方式で TLS/SSL 通信をクライアントモードとして開始し、 サーバとのハンドシェイクを実行します。
...ノンブロッキング方式で
TLS/SSL 通信をクライアントモードとして開始し、
サーバとのハンドシェイクを実行します。
IO が読み込み待ち、もしくは書き込み待ちになった場合は例外を
発生させ、ハンドシェイクを中断しま......る場合には IO::WaitReadable を、
書き込み可能状態を待つ必要がある場合には IO::WaitWritable を、
それぞれ extend した例外オブジェクトが生成されます。
@see OpenSSL::SSL::SSLSocket#accept_nonblock,
OpenSSL::SSL::SSLSocket#connect... -
UNIXServer
# accept _ nonblock -> UnixSocket (12207.0) -
ソケットをノンブロッキングモードに設定した後、 accept(2) を呼び出します。
...した後、
accept(2) を呼び出します。
接続した
UNIXSocket のインスタンスを返します。
accept(2) がエラーになった場合、Socket#accept と同じ例外が
発生します。
Errno::EWOULDBLOCK, Errno::EAGAIN,
Errno::ECONNABORTED, Errno::EPROTO のいずれかの......tReadable が extend
されます。それを利用してリトライ可能な例外を掴まえることができます。
require 'socket'
serv = UNIXServer.new("/tmp/sock")
begin # emulate blocking accept
sock = serv.accept_nonblock
rescue IO::WaitReadable, Errno::EINTR
IO.select......([serv])
retry
end
# sock is an accepted socket.
@see UNIXServer#accept... -
Socket
# accept _ nonblock -> Array (12201.0) -
ソケットをノンブロッキングモードに設定した後、 accept(2) を呼び出します。
...ソケットをノンブロッキングモードに設定した後、
accept(2) を呼び出します。
引数、返り値は Socket#accept と同じです。
accept(2) がエラーになった場合、
EAGAIN, EINTR を含め例外 Errno::EXXX が発生します。... -
TCPServer
# accept _ nonblock -> TCPSocket (12201.0) -
ソケットをノンブロッキングモードに設定した後、 accept(2) を呼び出します。
...ングモードに設定した後、
accept(2) を呼び出します。
返り値は TCPServer#accept と同じです。
accept(2) がエラーになった場合、
EAGAIN, EINTR を含め例外 Errno::EXXX が発生します。
@raise Errno::EXXX accept(2) がエラーになった場合に発生...