るりまサーチ

最速Rubyリファレンスマニュアル検索!
11件ヒット [1-11件を表示] (0.137秒)
トップページ > クエリ:I[x] > クエリ:begin[x] > クエリ:recvfrom_nonblock[x]

別のキーワード

  1. _builtin begin
  2. range begin
  3. matchdata begin
  4. arithmeticsequence begin
  5. begin _builtin

ライブラリ

クラス

検索結果

UDPSocket#recvfrom_nonblock(maxlen, flags=0) -> [String, Array] (18213.0)

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

...Socket::MSG_* の bitwise OR を渡します。
詳しくは recvfrom(2) を参照してください。

返り値はデータの文字列と送り元のアドレス情報の
2要素の配列となります。

recvfrom(2) がエラーになった場合、
Errno::EAGAIN, Errno::EINTR を含め例外...
...には、IO::WaitReadable が extend
されています。

require 'socket'
s1 = UDPSocket.new
s1.bind("127.0.0.1", 0)
s2 = UDPSocket.new
s2.bind("127.0.0.1", 0)
s2.connect(*s1.addr.values_at(3,1))
s1.connect(*s2.addr.values_at(3,1))
s1.send "aaa", 0
begin
# emulate blocking recvf...
...rom
p s2.recvfrom_nonblock(10)
#=> ["aaa", ["AF_INET", 33302, "localhost.localdomain", "127.0.0.1"]]
rescue IO::WaitReadable
I
O.select([s2])
retry
end

@param maxlen 受け取るデータの最大バイト数
@param flags フラグ
@see IPSocket#recvfrom...