names=recvfrom
visibility=public
kind=defined

--- recvfrom(maxlen, flags = 0) -> Array

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

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

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

@raise IOError

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

例:

  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"]
