Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > socketライブラリ > Socketクラス > udp_server_sockets

singleton method Socket.udp_server_sockets

udp_server_sockets(port) -> [Sockets][permalink][rdoc]
udp_server_sockets(host, port) -> [Sockets]
udp_server_sockets(port) {|sockets| ... } -> object
udp_server_sockets(host, port) {|sockets| ... } -> object

UDP で host:port を待ち受けるサーバ側のソケットを作成します。

ブロックなしの場合は、ソケットオブジェクトの配列を返します。

ブロック付きの場合は、ソケットオブジェクトをそのブロックに 渡して呼び出します。ブロック終了時にそれらのソケットを閉じます。

port が 0 の場合は、実際のポート番号は動的に選ばれます。 ただし返り値のソケットはすべて同じ番号を持ちます。

# UDP/IP echo server
require 'socket'

Socket.udp_server_sockets(0) {|sockets|
  p sockets.first.local_address.ip_port     #=> 32963
  Socket.udp_server_loop_on(sockets) {|msg, msg_src|
    msg_src.reply msg
  }
}
[PARAM] host:
割り当てるホスト名
[PARAM] port:
割り当てるポート番号