getsockopt(level, optname) -> Socket::Option
[permalink][rdoc]ソケットのオプションを取得します。getsockopt(2) を参照してください。取得したオプションのデータを Socket::Option で返します。
level, optname には Socket::SOL_SOCKET や Socket::SO_REUSEADDR といった整数値の他、文字列("SOL_SOCKET", prefixなしの "SOCKET")やシンボル(:SO_REUSEADDR, :REUSEADDR)を用いることができます。
[SEE_ALSO] BasicSocket#setsockopt
例:
require 'socket' serv = Socket.tcp_server_sockets("", 0)[0] c = serv.local_address.connect s = serv.accept opt = c.getsockopt(Socket::IPPROTO_TCP, Socket::TCP_NODELAY) # c.getsockopt("TCP", "NODELAY"), なども可能 p opt #=> #<Socket::Option: INET TCP NODELAY 0> p opt.bool #=> false (Nagle アルゴリズム有効) p opt.unpack("i")[0] #=> 0 (Socket::Option#unpack が互換性のために存在する) # 整数値の場合は Socket::Option#int を用いる p c.getsockopt(:IP, :TTL).int #=> 64