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

class UDPSocket

クラスの継承リスト: UDPSocket < IPSocket < BasicSocket < IO < Enumerable < File::Constants < Object < Kernel < BasicObject

Abstract

UDP/IPデータグラム型ソケットのクラス。

特異メソッド

open([socktype])
new([socktype])

新しい UDP ソケットを返します。

インスタンスメソッド

bind(host, port)

ソケットを host の port に結合します。

bind(host, port) [redefined by resolv-replace]

UDPSocket#bindのパラメータ host の名前解決に resolv ライブラリを使います。

connect(host, port)

ソケットを host の port に connect します。

connect(host, port) [redefined by resolv-replace]

UDPSocket#connectのパラメータ host の名前解決に resolv ライブラリを使います。

recvfrom_nonblock(maxlen[, flags])

ソケットをノンブロッキングモードに設定した後、 recvfrom(2) でソケットからデータを受け取ります。

引数、返り値は IPSocket#recvfrom と同じです。

recvfrom(2) がエラーになった場合、 EAGAIN, EINTR を含め例外 Errno::EXXX が発生します。

send(mesg, flags[, dest_sockaddr])
send(mesg, flags, host, port)

ソケットを介してデータを送ります。flags に関しては send(2) を参照してください。connect していないソケット に対しては送り先を指定するため dest_sockaddr あるいは、host と port を指定する必要があります。実際に送ったデータの長さを返 します。

dest_sockaddr には[[m:socket#ソケットアドレス構造体を pack した文字列]] を指定します。

host, port に関しては [[m:socket#ホスト指定形式]]、 [[m:socket#サービス指定形式]]を参照してください。

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

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

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

send(mesg, flags, *rest) [redefined by resolv-replace]

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

Methods

Classes