ソケットを表す抽象クラス。具体的なソケット操作はサブクラスで 定義されます。 例えばインターネットドメインストリームソケットの場合は TCPSocketを用います。
この値が真ならアドレスからホスト名への逆引きを行わなくなります。 デフォルトは false です。この設定は大域的に作用します。 *1
require 'socket' p TCPSocket.new('localhost', 'telnet').addr TCPSocket.do_not_reverse_lookup = true p TCPSocket.new('localhost', 'telnet').addr => ["AF_INET", 2253, "localhost", "127.0.0.1"] ["AF_INET", 2254, "127.0.0.1", "127.0.0.1"]
Socket.for_fd(fd) ((<ruby 1.7 feature>))
ファイルディスクリプタ fd に対する新しいソケットを生成します。
ruby 1.7 feature: このメソッドは Socket クラスからこのクラスに移動しました。 これにより、任意のソケットである fd から対応するソケッ トクラスを作ることができます。
接続の相手先のソケットの情報を取得します。sockaddr構造体をパッ
クした文字列を返します。getpeername(2)
を参照の
こと。
ソケットの情報を取得します。sockaddr構造体をパックした
文字列を返します。getsockname(2)
を参照のこと。
ソケットのオプションを取得します。getsockopt(2)
を参照のこと。取得したオプションのデータをパックした文字列を
返します。
ソケットからデータを受け取り、文字列として返します。 lenは受け取る最大の長さを指定します。 flagsについてはrecv(2)を参照。flagsの デフォルト値は0です。flagsの指定に必要な定数は Socketクラスで定義されています。(例: Socket::SO_LINGER)
ソケットを介してデータを送ります。flagsに関しては
send(2)
を参照してください。connect
していないソケットに対しては送り先であるtoを指定
する必要があります。実際に送ったデータの長さを返します。
ソケットのオプションを設定します。setsockopt(2) を参照のこと。*2
ソケットの以降の接続を終了させます。howが0である
時、以降の受信が、1である時は、以降の送信が拒否されます。
howが2の時には、それ以降の送信、受信ともに拒否さ
れます。howを省略すると2を指定したことになります。
shutdown(2)
を参照。
*1具体的に動作に影響が出るメソッドの一覧を
*2より高レベルなものとしてRAA:Sockoptがあります