34件ヒット
[1-34件を表示]
(0.105秒)
種類
- モジュール関数 (11)
- 特異メソッド (11)
- インスタンスメソッド (11)
- 関数 (1)
モジュール
- Kernel (11)
キーワード
-
connect
_ nonblock (11) -
rb
_ thread _ select (1)
検索結果
先頭4件
- Kernel
. # select(reads , writes = [] , excepts = [] , timeout = nil) -> [[IO]] | nil - IO
. select(reads , writes = [] , excepts = [] , timeout = nil) -> [[IO]] | nil - int rb
_ thread _ select(int max , fd _ set *read , fd _ set *write , fd _ set *except , struct timeval *timeout) - Socket
# connect _ nonblock(server _ sockaddr) -> 0
-
Kernel
. # select(reads , writes = [] , excepts = [] , timeout = nil) -> [[IO]] | nil (24347.0) -
IO.select と同じです。
...IO.select と同じです。
@param reads IO.select 参照
@param writes IO.select 参照
@param excepts IO.select 参照
@param timeout IO.select 参照
@see IO.select... -
IO
. select(reads , writes = [] , excepts = [] , timeout = nil) -> [[IO]] | nil (24341.0) -
select(2) を実行します。
...
select(2) を実行します。
与えられた入力/出力/例外待ちの IO オブジェクトの中から準備ができたものを
それぞれ配列にして、配列の配列として返します。
タイムアウトした時には nil を返します。
@param reads 入力待ちする......クトの配列を渡します。
@param timeout タイムアウトまでの時間を表す数値または nil を指定します。数値で指定したときの単位は秒です。nil を指定した時には IO がどれかひとつレディ状態になるまで待ち続けます。
@raise IOE......閉じられていた時に発生します。
@raise Errno::EXXX select(2) に失敗した場合に発生します。
rp, wp = IO.pipe
mesg = "ping "
100.times{
rs, ws, = IO.select([rp], [wp])
if r = rs[0]
ret = r.read(5)
print ret
case ret
when /ping/
mesg = "p... -
int rb
_ thread _ select(int max , fd _ set *read , fd _ set *write , fd _ set *except , struct timeval *timeout) (18440.0) -
この関数は deprecated です。rb_thread_fd_select を使用してください。
...す。rb_thread_fd_select を使用してください。
Ruby のスレッドは実装のために内部で select(2) を使っているため、
拡張ライブラリ内で独自に select(2) を使った場合の動作は保証されません。
代わりにこの関数 rb_thread_select を使っ......てください。
引数の意味は select(2) と同じです。... -
Socket
# connect _ nonblock(server _ sockaddr) -> 0 (6112.0) -
ソケットをノンブロッキングモードに設定した後、 connect(2) を呼び出します。
...ble が Object#extend されます。
これを connect_nonblock をリトライするために使うことができます。
# Pull down Google's web page
require 'socket'
include Socket::Constants
socket = Socket.new(AF_INET, SOCK_STREAM, 0)
sockaddr = Socket.sockaddr_in(80, 'www.google.......com')
begin # emulate blocking connect
socket.connect_nonblock(sockaddr)
rescue IO::WaitWritable
IO.select(nil, [socket]) # wait 3-way 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) がエラーを報告した場合に発生します。詳しくは
man を参照してください。...