Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > socketライブラリ > Socketクラス > udp_server_recv
udp_server_recv(sockets) {|msg, msg_src| ... } -> ()
[permalink][rdoc]socketsで与えられた各 UDP ソケットからデータを読み取ります。
各ソケットからメッセージを読み取るごとにブロックを呼び出します。 ブロックに渡される引数は msg と msg_src の 2 つで、 msg は受け取ったメッセージ文字列で、 msg_src は 通信相手の Socket::UDPSource オブジェクトです。
Socket.udp_server_loop はこのメソッドの用いて以下のようにして 実装できます。
require 'socket' udp_server_sockets(host, port) {|sockets| loop { readable, _, _ = IO.select(sockets) udp_server_recv(readable) {|msg, msg_src| ... } } }