36件ヒット
[1-36件を表示]
(0.088秒)
キーワード
- recvfrom (12)
-
recvfrom
_ nonblock (12)
検索結果
先頭3件
-
UDPSocket
# send(mesg , flags , sockaddr _ to) -> Integer (21324.0) -
UDP ソケットを介してデータを送ります。
...ます。
flags には Socket::MSG_* という定数の bitwise OR を渡します。
詳しい意味は send(2) を参照してください。
host, port の対、もしくは sockaddr_to で送り先を指定します。
送り先を省略した場合は UDPSocket#connect で接続した
先に......。
sockaddr_to にはlib:socket#pack_string もしくは
Addrinfo オブジェクトを指定します。
host, port に関しては lib:socket#host_format、
lib:socket#service_formatを参照してください。
2 引数、3 引数の形式の場合の動作は、
BasicSocket#send と同じ......を順に試みます。
データの送信に失敗した場合は例外 Errno::EXXX が発生します。
@param mesg 送るデータ文字列
@param flags フラグ
@param host 送り先のホスト名
@param port 送り先のポート番号
@param sockaddr_to 送り先のアドレス情報... -
Socket
# recvfrom(maxlen , flags=0) -> [String , Addrinfo] (3310.0) -
ソケットからデータを受け取ります。
...ソケットからデータを受け取ります。
Socket#recv と同様ですが、返り値として
データ文字列と相手ソケットのアドレスのペアが返されます。
flags には Socket::MSG_* という定数の bitwise OR を渡します。
詳しくは recvfrom(2) を参......見てください。
例:
require 'socket'
s1 = Socket.new(Socket::AF_INET, Socket::SOCK_DGRAM, 0)
s2 = Socket.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\000\000\000\000\000\000\000"
p Socket.unpack_sockaddr_in(sockaddr) #=> [32882, "127.0.0.1"]... -
UDPSocket
# recvfrom _ nonblock(maxlen , flags=0) -> [String , Array] (3222.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
IO.select([s2])
retry
end
@param maxlen 受け取るデータの最大バイト数
@param flags フラグ
@see IPSocket#recvfrom...