るりまサーチ

最速Rubyリファレンスマニュアル検索!
192件ヒット [1-100件を表示] (0.026秒)

別のキーワード

  1. kernel require
  2. getoptlong require_order
  3. rubygems/custom_require require
  4. irb/ext/use-loader irb_require
  5. require execute

ライブラリ

クラス

キーワード

検索結果

<< 1 2 > >>

BasicSocket#recv(maxlen, flags = 0) -> String (18153.0)

ソケットからデータを受け取り、文字列として返します。 maxlen は受け取る最大の長さを指定します。 flags については recv(2) を参照してください。flags の デフォルト値は 0 です。flags の指定に必要な定数は Socket クラスで定義されています。(例: Socket::MSG_PEEK)

...指定します。
flags については recv(2) を参照してください。flags の
デフォルト値は 0 です。flags の指定に必要な定数は
Socket クラスで定義されています。(例: Socket::MSG_PEEK)

内部で呼び出す recv(2) が 0 を返した場合、このメソ...
...aram flags recv(2) を参照してください。

@raise IOError

@raise Errno::EXXX recvfrom(2) がエラーになった場合などに発生します。

例:

require
'socket'

s1, s2 = UNIXSocket.pair
s1.write "a"
s1.close
p s2.recv(10, Socket::MSG_PEEK) #=> "a"
p s2.recv(10)...
...#=> "a"
p s2.recv(10) #=> ""...

IPSocket#recvfrom(maxlen, flags = 0) -> Array (6144.0)

recv と同様にソケットからデータを受け取りますが、 戻り値は文字列と相手ソケットのアドレス (形式は IPSocket#addr 参照) のペアです。引数につ いては BasicSocket#recv と同様です。

...
recv
と同様にソケットからデータを受け取りますが、
戻り値は文字列と相手ソケットのアドレス (形式は
IPSocket#addr 参照) のペアです。引数につ
いては BasicSocket#recv と同様です。

@param maxlen 受け取る文字列の最大の長さを...
...指定します。

@param flags recv(2) を参照してください。

@raise IOError

@raise Errno::EXXX recvfrom(2) がエラーになった場合などに発生します。

例:

require
'socket'

s1 = UDPSocket.new
s1.bind("0.0.0.0", 0) # 適当に空いている port を割り当てる...
...s2 = UDPSocket.new
s2.send("foo", 0, s1.getsockname)
mesg, inet_addr = s1.recvfrom(100)
p mesg #=> "foo"
p inet_addr #=> ["AF_INET", 32876, "localhost.localdomain", "127.0.0.1"]...

Socket.udp_server_recv(sockets) {|msg, msg_src| ... } -> () (6113.0)

socketsで与えられた各 UDP ソケットからデータを読み取ります。

...はこのメソッドの用いて以下のようにして
実装できます。

require
'socket'

udp_server_sockets(host, port) {|sockets|
loop {
readable, _, _ = IO.select(sockets)
udp_server_recv(readable) {|msg, msg_src| ... }
}
}

@param sockets 読み込むソケッ...

UNIXSocket#recv_io(klass=IO, mode=nil) -> Integer|IO|object (6113.0)

ソケットの接続先からファイルディスクリプタを受け取ります。

...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 受け取ったファイルディスクリプ...

BasicSocket#recvmsg(maxmesglen=nil, flags=0, maxcontrollen=nil, opts={}) -> [String, Addrinfo, Integer, *Socket::AncillaryData] (6112.0)

recvmsg(2) を用いてメッセージを受け取ります。

...
recv
msg(2) を用いてメッセージを受け取ります。

このメソッドはブロックします。ノンブロッキング方式で通信したい
場合は BasicSocket#recvmsg_nonblock を用います。

maxmesglen, maxcontrollen で受け取るメッセージおよび補助データ
(...
...残りの要素は補助データ(Socket::AncillaryData オブジェクト)です。

require
'socket'

# UnixSocket#recv_io を recvmsg で実装する例
mesg, sender_sockaddr, rflags, *controls = sock.recvmsg(:scm_rights=>true)
controls.each {|ancdata|
if ancdata.cmsg_is?(:SOCKET, :...

絞り込み条件を変える

Socket#recvfrom(maxlen, flags=0) -> [String, Addrinfo] (6112.0)

ソケットからデータを受け取ります。

...タを受け取ります。

Socket#recv と同様ですが、返り値として
データ文字列と相手ソケットのアドレスのペアが返されます。

flags には Socket::MSG_* という定数の bitwise OR を渡します。
詳しくは recvfrom(2) を参照してください。...
...ら受けとるデータの最大値
@param flags フラグ
@raise Errno::EXXX recvfrom(2) がエラーを報告した場合に発生します。詳しくは
Errno と man を見てください。
例:

require
'socket'

s1 = Socket.new(Socket::AF_INET, Socket::SOCK_DGRAM, 0)
s2 = Socke...
...t.new(Socket::AF_INET, Socket::SOCK_DGRAM, 0)
s1.bind(Socket.sockaddr_in(0, "0.0.0.0"))
s2.send("foo", 0, s1.getsockname)
mesg, sockaddr = s1.recvfrom(10)
p mesg #=> "foo"
p sockaddr #=> "\002\000\200r\177\000\000\001\000\00...

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

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

...グモードに設定した後、
recv
from(2) でソケットからデータを受け取ります。

maxlen で受け取るデータの最大バイト数を指定します。

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

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

recv
from(2) がエラーになった場合、
Errno::EAGAIN, Errno::EINTR を含め例外 Errno::EXXX が発生します。
Errno::EWOULDBLOCK、Errno::EAGAIN のような待ってから...
...されています。

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 recvfrom
p s2.recvfrom_nonblock(10)...

UNIXSocket#recvfrom(maxlen, flags = 0) -> [String [String, String]] (6106.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)[0] #=> "a"
}

@param maxlen 受け取るメッセージの最大長
@param flags フラグ...

Thread::ConditionVariable (60.0)

スレッドの同期機構の一つである状態変数を実現するクラスです。

...る例です。@q が空になった場合、
あるいは満タンになった場合に Condition Variable を使って wait しています。

require
'thread'

class TinyQueue
def initialize(max=2)
@max = max
@full = ConditionVariable.new
@empty = ConditionVariable.new...
....wait(@mutex) if count == 0
v = @q.shift
@full.signal if count == (@max - 1)
v
}
end

alias send enq
alias recv deq
end

if __FILE__ == $0
q = TinyQueue.new(1)
foods = 'Apple Banana Strawberry Udon Rice Milk'.split
l = []

th = Thread.new...
...q.recv
print "recv ", obj, "\n"
end
}
l.push th

l.each do |t|
t.join
end
end

実行すると以下のように出力します。

$ ruby condvar.rb
sent Apple
recv
Apple
sent Banana
recv
Banana
sent Strawberry
recv
Strawberry
sent Udon
recv
U...
<< 1 2 > >>