Ruby 2.2.0 リファレンスマニュアル > ライブラリ一覧 > socketライブラリ > UDPSocketクラス > send

instance method UDPSocket#send

send(mesg, flags, host, port) -> Integer[permalink][rdoc]
send(mesg, flags, sockaddr_to) -> Integer
send(mesg, flags) -> Integer

UDP ソケットを介してデータを送ります。

flags には Socket::MSG_* という定数の bitwise OR を渡します。 詳しい意味は send(2) を参照してください。

host, port の対、もしくは sockaddr_to で送り先を指定します。 送り先を省略した場合は UDPSocket#connect で接続した 先にデータを送ります。

実際に送ったデータの長さを返します。

sockaddr_to にはsocket/ソケットアドレス構造体を pack した文字列 もしくは Addrinfo オブジェクトを指定します。

host, port に関しては socket/ホスト指定形式socket/サービス指定形式を参照してください。

2 引数、3 引数の形式の場合の動作は、 BasicSocket#send と同じです。

4 引数の形式で、指定したホストが複数のアドレスを持つ場合、いずれか のアドレスへの送信が成功するまで(あるいはすべての送信が失敗するま で)、各アドレスへの送信を順に試みます。

データの送信に失敗した場合は例外 Errno::EXXX が発生します。

[PARAM] mesg:
送るデータ文字列
[PARAM] flags:
フラグ
[PARAM] host:
送り先のホスト名
[PARAM] port:
送り先のポート番号
[PARAM] sockaddr_to:
送り先のアドレス情報
send(mesg, flags , dest_sockaddr=nil) -> Integer[permalink][rdoc] [redefined by resolv-replace]
send(mesg, flags, host, port) -> Integer [redefined by resolv-replace]

4 引数の形式で UDPSocket#send 実行したとき、 パラメータ host の名前解決に resolv ライブラリを使います。

[PARAM] mesg:
送るデータを文字列で与えます。
[PARAM] flags:
フラグを指定します。
[PARAM] host:
データを送る先のホストを指定します。
[PARAM] port:
データを送る先のポートを指定します。
[EXCEPTION] SocketError:
名前解決に失敗した場合に発生します。