汎用ソケットクラス。
システムコールレベルから高水準の機能までを提供します。
ソケットオブジェクトを生成する汎用的な方法として Socket.new がありますが、以下のようなより便利なメソッドがあります。
また、クライアントソケットは Addrinfo#connect で、サーバソケットを Addrinfo#bind や Addrinfo#listen で作ることもできます。
accept_loop(sockets) {|sock, client_addrinfo| ...} -> ()
[permalink][rdoc]sockets でサーバソケットを受け取り、接続を待ち受け、クライアントとの接続が確立するたびにブロックにその接続ソケットを渡し呼び出します。
ブロックの引数はクライアントと接続したソケットオブジェクトと Addrinfo オブジェクトです。
Socket.tcp_server_loop と同様、ブロックは逐次的に呼び出されます。つまりブロックか終了するまで次の接続は accept されません。並列に通信したい場合はスレッドのような並列実行機構を使う必要があります。
[SEE_ALSO] Socket.tcp_server_loop, Socket.unix_server_loop
getaddrinfo(nodename, servname, family=nil, socktype=nil, protocol=nil, flags=nil) -> Array
[permalink][rdoc][RFC2553]で定義された getaddrinfo() の機能を提供するクラスメソッド。この関数は gethostbyname() や getservbyname() の代わりとして用意されており、 IP のバージョンに依存しないプログラムを書くための標準的な API です。
[SEE_ALSO] Addrinfo.getaddrinfo
アドレス情報とは7つの要素からなる次の形の配列です。
必須引数の意味は以下の通りです。
残りの引数は省略可能です。
引数に指定できる定数の意味については getaddrinfo(3) を参照して下さい。
例:
require 'socket' p Socket.getaddrinfo(Socket.gethostname, "ftp") #=> [["AF_INET", 21, "helium.ruby-lang.org", "210.251.121.214", 2, 1, 6]] pp Socket.getaddrinfo(Socket.gethostname, nil) #=> [["AF_INET", 0, "helium.ruby-lang.org", "210.251.121.214", 2, 1, 6], # ["AF_INET", 0, "helium.ruby-lang.org", "210.251.121.214", 2, 2, 17], # ["AF_INET", 0, "helium.ruby-lang.org", "210.251.121.214", 2, 3, 0]]
gethostbyaddr(host, type = Socket::AF_INET) -> Array
[permalink][rdoc]sockaddr 構造体をパックした文字列からホスト情報を返します。ホスト情報の構造は Socket.gethostbyname と同じです。 type には、アドレスタイプ(デフォルトは Socket::AF_INET)を指定します。
gethostbyname(host) -> Array
[permalink][rdoc]ホスト名または IP アドレス(指定方法に関しては socket/ホスト指定形式を参照) からホストの情報を返します。
ホスト情報は以下の 4 要素の配列で表現されています。
第四要素のホストのアドレスは、各アドレスタイプに対応する C のアドレス構造体を pack した文字列として表現されています。例えばアドレスタイプが AF_INET (定数 2) ならば Socket.unpack_sockaddr_in で unpack できます。
irb(main):009:0> require 'socket' irb(main):009:0> Socket.gethostbyname("210.251.121.214") ["helium.ruby-lang.org", ["helium"], 2, "\322\373y\326"] irb(main):009:0> Socket.unpack_sockaddr_in(Socket.gethostbyname("210.251.121.214")[3])[1] "210.251.121.214"
gethostname -> String
[permalink][rdoc]システムの標準のホスト名を取得します。
ホストの別名やアドレスなど他の情報を得るには Socket.getaddrinfo を使ってください。ただし、これは不可能な場合もあります。
例:
require 'socket' p Socket.gethostname #=> "helium.ruby-lang.org"
getifaddrs -> [Socket::Ifaddr]
[permalink][rdoc]インターフェイスのアドレスを Socket::Ifaddr の配列で返します。
本メソッドはマルチキャスト通信が可能なインターフェイスを見つけるために使う事ができます。
require 'socket' pp Socket.getifaddrs.reject {|ifaddr| !ifaddr.addr.ip? || (ifaddr.flags & Socket::IFF_MULTICAST == 0) }.map {|ifaddr| [ifaddr.name, ifaddr.ifindex, ifaddr.addr] } #=> [["eth0", 2, #<Addrinfo: 221.186.184.67>], # ["eth0", 2, #<Addrinfo: fe80::216:3eff:fe95:88bb%eth0>]]
例(GNU/Linux):
require 'socket' pp Socket.getifaddrs #=> [#<Socket::Ifaddr lo UP,LOOPBACK,RUNNING,0x10000 PACKET[protocol=0 lo hatype=772 HOST hwaddr=00:00:00:00:00:00]>, # #<Socket::Ifaddr eth0 UP,BROADCAST,RUNNING,MULTICAST,0x10000 PACKET[protocol=0 eth0 hatype=1 HOST hwaddr=00:16:3e:95:88:bb] broadcast=PACKET[protocol=0 eth0 hatype=1 HOST hwaddr=ff:ff:ff:ff:ff:ff]>, # #<Socket::Ifaddr sit0 NOARP PACKET[protocol=0 sit0 hatype=776 HOST hwaddr=00:00:00:00]>, # #<Socket::Ifaddr lo UP,LOOPBACK,RUNNING,0x10000 127.0.0.1 netmask=255.0.0.0>, # #<Socket::Ifaddr eth0 UP,BROADCAST,RUNNING,MULTICAST,0x10000 221.186.184.67 netmask=255.255.255.240 broadcast=221.186.184.79>, # #<Socket::Ifaddr lo UP,LOOPBACK,RUNNING,0x10000 ::1 netmask=ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff>, # #<Socket::Ifaddr eth0 UP,BROADCAST,RUNNING,MULTICAST,0x10000 fe80::216:3eff:fe95:88bb%eth0 netmask=ffff:ffff:ffff:ffff::>]
例(FreeBSD):
require 'socket' pp Socket.getifaddrs #=> [#<Socket::Ifaddr usbus0 UP,0x10000 LINK[usbus0]>, # #<Socket::Ifaddr re0 UP,BROADCAST,RUNNING,MULTICAST,0x800 LINK[re0 3a:d0:40:9a:fe:e8]>, # #<Socket::Ifaddr re0 UP,BROADCAST,RUNNING,MULTICAST,0x800 10.250.10.18 netmask=255.255.255.? (7 bytes for 16 bytes sockaddr_in) broadcast=10.250.10.255>, # #<Socket::Ifaddr re0 UP,BROADCAST,RUNNING,MULTICAST,0x800 fe80:2::38d0:40ff:fe9a:fee8 netmask=ffff:ffff:ffff:ffff::>, # #<Socket::Ifaddr re0 UP,BROADCAST,RUNNING,MULTICAST,0x800 2001:2e8:408:10::12 netmask=UNSPEC>, # #<Socket::Ifaddr plip0 POINTOPOINT,MULTICAST,0x800 LINK[plip0]>, # #<Socket::Ifaddr lo0 UP,LOOPBACK,RUNNING,MULTICAST LINK[lo0]>, # #<Socket::Ifaddr lo0 UP,LOOPBACK,RUNNING,MULTICAST ::1 netmask=ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff>, # #<Socket::Ifaddr lo0 UP,LOOPBACK,RUNNING,MULTICAST fe80:4::1 netmask=ffff:ffff:ffff:ffff::>, # #<Socket::Ifaddr lo0 UP,LOOPBACK,RUNNING,MULTICAST 127.0.0.1 netmask=255.?.?.? (5 bytes for 16 bytes sockaddr_in)>]
getnameinfo(sa, flags = 0) -> Array
[permalink][rdoc][RFC2553] で定義された getnameinfo() の機能を提供するクラスメソッド。 gethostbyaddr() や getservbyport() の代わりとして用意されています。IPのバージョンに依存しないプログラムを書くための標準的なAPIです。
[SEE_ALSO] Addrinfo#getnameinfo
引数 sa には文字列か配列を与えます。文字列の場合は sockaddr 構造体のパック文字列を与えます。具体的には BasicSocket#getsockname の値が利用できます。配列を与える場合には、要素が3つの場合と4つの場合があります。
アドレスファミリーには Socket::AF_INET 等の定数の他に文字列で "AF_INET" もしくは "AF_INET6" もしくは nil が指定できます。ただしIPv6が使えないようにコンパイルされている場合は "AF_INET6" は無効な指定となります。アドレスファミリーに nil を指定することは Socket::AF_UNSPEC を指定することと等価です。
サービス、ホストの指定に関しては socket/サービス指定形式、 socket/ホスト指定形式を参照してください。
要素が3つの場合でも、ホストにはアドレスを指定できますが、要素が4つの場合には、最後の要素を名前解決しないことが保証されます。
省略可能な第2引数 flags には getnameinfo(3) の第7番目の引数に指定する flags に相当する Fixnum を与えます。
引数flagsを構成するための定数として Socket::NI_MAXHOST、 Socket::NI_MAXSERV、 Socket::NI_NOFQDN、 Socket::NI_NUMERICHOST、 Socket::NI_NAMEREQD、 Socket::NI_NUMERICSERV、 Socket::NI_DGRAM が用意されている場合があります。
これらの定数の意味については getnameinfo(3)を参照して下さい。
require 'socket' Socket.getnameinfo(Socket.sockaddr_in('21','127.0.0.1')) #=> ["localhost", "ftp"] Socket.getnameinfo([nil, 21,'127.0.0.1']) #=> ["localhost", "ftp"]
getservbyname(service, proto = "tcp") -> Integer
[permalink][rdoc]service, protoに対応するポート番号を返します。protoの省略値は"tcp"です。
getservbyport(port, protocol_name="tcp") -> String
[permalink][rdoc]ポート番号に対応するサービスの正式名を返します。
require 'socket' Socket.getservbyport(80) #=> "www" Socket.getservbyport(514, "tcp") #=> "shell" Socket.getservbyport(514, "udp") #=> "syslog"
ip_address_list -> [Addrinfo]
[permalink][rdoc]ローカルの IP アドレスを配列で返します。
open(domain, type, protocol=0) -> Socket
[permalink][rdoc]new(domain, type, protocol=0) -> Socket
新しいソケットを生成します。domain、type、 protocol はインクルードファイルにある定数で指定します。ほとんどの定数は Socket::AF_INET のように Socket クラスの定数として定義されています。domain とtype に関しては、"AF_INET", "SOCK_STREAM" のように文字列でも指定できますが、文字列ですべての機能を指定できる保証はありません。
例えば、IPv4 の TCP ソケットは以下のように生成されます。
require 'socket' s = Socket.new(Socket::AF_INET, Socket::SOCK_STREAM, 0)
なお、socket(2) の domain 引数において AF_ と PF_ のどちらの定数を使用するかについては混乱がありますが、 Stevens の「UNIX ネットワークプログラミング第2版 Vol.1」4.2節に述べられているように、現実的にはどちらでも問題なく、また、既存のコーディング習慣として AF_ が用いられることが多いため、ここでは AF_ を使用しています。
sockaddr_in(port, host) -> String
[permalink][rdoc]pack_sockaddr_in(port, host) -> String
指定したアドレスをsocket/ソケットアドレス構造体を pack した文字列 で返します。port は、ポート番号を表す Fixnum あるいは、ポート番号、サービス名を表す文字列です。
例:
require 'socket' p Socket.sockaddr_in("echo", "localhost") => "\002\000\000\a\177\000\000\001\000\000\000\000\000\000\000\000" p Socket.sockaddr_in("echo", "::1") => "\n\000\000\a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000"
sockaddr_un(path) -> String
[permalink][rdoc]pack_sockaddr_un(path) -> String
指定したアドレスをsocket/ソケットアドレス構造体を pack した文字列 で返します。
例:
require 'socket' p Socket.sockaddr_un("/tmp/.X11-unix/X0") => "\001\000/tmp/.X11-unix/X0\000...."
pair(domain, type, protocol=0) -> Array
[permalink][rdoc]socketpair(domain, type, protocol=0) -> Array
相互に結合されたソケットのペアを含む2要素の配列を返します。引数の指定は Socket.open と同じです。
[SEE_ALSO] Socket.open
tcp(host, port, local_host=nil, local_port=nil) -> Socket
[permalink][rdoc]tcp(host, port, local_host=nil, local_port=nil) {|socket| ... } -> object
TCP/IP で host:port に接続するソケットオブジェクトを作成します。
local_host や local_port を指定した場合、ソケットをそこにバインドします。
ブロックを渡すと、生成したソケットをそのブロックに渡し呼び出します。ブロック終了時にソケットオブジェクトを閉じます。
require 'socket' Socket.tcp("www.ruby-lang.org", 80) {|sock| sock.print "GET / HTTP/1.0\r\nHost: www.ruby-lang.org\r\n\r\n" sock.close_write puts sock.read }
tcp_server_loop(port) {|sock,addr| ...} -> ()
[permalink][rdoc]tcp_server_loop(host, port) {|sock,addr| ...} -> ()
TCP/IP で host:port で待ち受けるサーバ側のソケットを作成し、新しい接続を受け入れるごとにブロックを呼び出します。
ブロックには新しい接続を表すソケットオブジェクトと、クライアントアドレスを表す Addrinfo オブジェクトが渡されます。
ブロックの実行が終わってもソケットは close されません。アプリケーション側が明示的に close する必要があります。
このメソッドはブロックを逐次的に呼び出します。つまりブロックからリターンするまで次のコネクションを受け入れません。そのため、同時に複数のクライアントと通信したい場合はスレッドのような並列機構を使う必要があります。
サーバのソケットアドレスを決めるために Addrinfo.getaddrinfo が用いられることに注意してください。 Addrinfo.getaddrinfo は複数のアドレスを返す(IPv4 と IPv6 など) 場合があり、その場合その全てが用いられます。つまり IPv4 と IPv6 の両方を待ち受けます。getaddrinfo が 0 個のアドレスを返す場合はエラーになります。1つ以上を返した場合にそれが用いられます。
# 逐次的な echo サーバ # 一度に一つのクライアントした取り扱えない require 'socket' Socket.tcp_server_loop(16807) {|sock, client_addrinfo| begin IO.copy_stream(sock, sock) ensure sock.close end } # スレッドを使った echo サーバ # 同時に複数のクライアントを取り扱える # 以下の例だと接続制限がない(つまり接続過剰になりえる)ことに注意 require 'socket' Socket.tcp_server_loop(16807) {|sock, client_addrinfo| Thread.new { begin IO.copy_stream(sock, sock) ensure sock.close end } }
内部的には Socket.tcp_server_sockets で生成したソケットを Socket.accept_loop で処理しています。
[SEE_ALSO] Socket.tcp_server_sockets, Socket.accept_loop
tcp_server_sockets(port) -> [Socket]
[permalink][rdoc]tcp_server_sockets(host, port) -> [Socket]
tcp_server_sockets(port) {|sockets| ...} -> object
tcp_server_sockets(host, port) {|sockets| ...} -> object
TCP/IP で host:port で待ち受けるサーバ側のソケットを作成します。
ブロックなしの場合は、ソケットオブジェクトの配列を返します。
ブロック付きの場合は、ソケットオブジェクトをそのブロックに渡して呼び出します。ブロック終了時にそれらのソケットを閉じます。返り値はブロックの評価値となります。
port が 0 の場合は、実際のポート番号は動的に選ばれます。ただし返り値のソケットはすべて同じ番号を持ちます。
require 'socket' # tcp_server_sockets returns は2つのソケットを返す sockets = Socket.tcp_server_sockets(1296) p sockets #=> [#<Socket:fd 3>, #<Socket:fd 4>] # それぞれは IPv4 と IPv6 のソケット sockets.each {|s| p s.local_address } #=> #<Addrinfo: [::]:1296 TCP> # #<Addrinfo: 0.0.0.0:1296 TCP> # ポート番号を動的に選んでも IPv6 と IPv4 で同じポート番号を持つ sockets = Socket.tcp_server_sockets(0) sockets.each {|s| p s.local_address } #=> #<Addrinfo: [::]:53114 TCP> # #<Addrinfo: 0.0.0.0:53114 TCP> # ブロックにソケットの配列が渡される Socket.tcp_server_sockets(0) {|sockets| p sockets #=> [#<Socket:fd 3>, #<Socket:fd 4>] }
[SEE_ALSO] Socket.tcp_server_loop
udp_server_loop(port) {|msg, msg_src| ... } -> ()
[permalink][rdoc]udp_server_loop(host, port) {|msg, msg_src| ... } -> ()
UDP のサーバを起動して、メッセージが来るごとにブロックを呼び出します。
ブロックに渡される引数は msg と msg_src の 2 つで、 msg は受け取ったメッセージ文字列で、 msg_src は通信相手の Socket::UDPSource オブジェクトです。
[SEE_ALSO] Socket.udp_server_sockets, Socket.udp_server_loop_on
udp_server_loop_on(sockets) {|msg, msg_src| ... } -> ()
[permalink][rdoc]sockets (UDP のソケット)に対し、通信を待ち受けます。
Socket.udp_server_sockets の返り値がこれの引数に適切です。
ソケットからメッセージを受け取るたびにブロックを呼び出します。ブロックに渡される引数は msg と msg_src の 2 つで、 msg は受け取ったメッセージ文字列で、 msg_src は通信相手の Socket::UDPSource オブジェクトです。
無限ループ構造になっています。
[SEE_ALSO] Socket.udp_server_recv, Socket.udp_server_loop
udp_server_recv(sockets) {|msg, msg_src| ... } -> ()
[permalink][rdoc]socketsで与えられた各 UDP ソケットからデータを読み取ります。
各ソケットからメッセージを読み取るごとにブロックを呼び出します。ブロックに渡される引数は msg と msg_src の 2 つで、 msg は受け取ったメッセージ文字列で、 msg_src は通信相手の Socket::UDPSource オブジェクトです。
Socket.udp_server_loop はこのメソッドの用いて以下のようにして実装できます。
require 'socket' udp_server_sockets(host, port) {|sockets| loop { readable, _, _ = IO.select(sockets) udp_server_recv(readable) {|msg, msg_src| ... } } }
udp_server_sockets(port) -> [Sockets]
[permalink][rdoc]udp_server_sockets(host, port) -> [Sockets]
udp_server_sockets(port) {|sockets| ... } -> object
udp_server_sockets(host, port) {|sockets| ... } -> object
UDP で host:port を待ち受けるサーバ側のソケットを作成します。
ブロックなしの場合は、ソケットオブジェクトの配列を返します。
ブロック付きの場合は、ソケットオブジェクトをそのブロックに渡して呼び出します。ブロック終了時にそれらのソケットを閉じます。
port が 0 の場合は、実際のポート番号は動的に選ばれます。ただし返り値のソケットはすべて同じ番号を持ちます。
# UDP/IP echo server require 'socket' Socket.udp_server_sockets(0) {|sockets| p sockets.first.local_address.ip_port #=> 32963 Socket.udp_server_loop_on(sockets) {|msg, msg_src| msg_src.reply msg } }
unix(path) -> Socket
[permalink][rdoc]unix(path) {|sock| ... } -> object
Unix クライアントソケットを生成します。
ブロックが省略されたときは、生成されたソケットが返されます。
ブロックが渡されたときは、生成されたソケットを引数としてブロックを呼び出します。メソッドの返り値はブロックの評価値となります。また、ブロックの終了後にソケットを IO#close します。
require 'socket' # /tmp/sock と通信する Socket.unix("/tmp/sock") {|sock| t = Thread.new { IO.copy_stream(sock, STDOUT) } IO.copy_stream(STDIN, sock) t.join }
unix_server_loop(path) {|socket, client_addrinfo| ... } -> ()
[permalink][rdoc]Unix サーバソケットを生成し、新しい接続を受け入れるごとにブロックを呼び出します。
ブロックには新しい接続を表すソケットオブジェクトと、クライアントアドレスを表す Addrinfo オブジェクトが渡されます。
ブロックの実行が終わってもソケットは close されません。アプリケーション側が明示的に close する必要があります。
path という名前のファイルが既に存在するときは、そのファイルのオーナである場合は先にそのファイルを削除してしまいます。これは path が悪意あるユーザによって変更されない場合に限りは安全です。つまり、 /tmp/malicious-users-directory/socket という名前のパスは使うべきではありません。 /tmp にスティッキービットが立っている場合、/tmp/socket や /tmp/your-private-directory/socket というパス名は安全と考えて良いでしょう。
unix_server_socket(path) -> Socket
[permalink][rdoc]unix_server_socket(path) {|sock| ... } -> object
Unix サーバソケットを生成します。
ブロックが省略されたときは、生成されたソケットが返されます。
ブロックが渡されたときは、生成されたソケットを引数としてブロックを呼び出します。メソッドの返り値はブロックの評価値となります。また、ブロックの終了後にソケットを IO#close します。
require 'socket' socket = Socket.unix_server_socket("/tmp/s") p socket #=> #<Socket:fd 3> p socket.local_address #=> #<Addrinfo: /tmp/s SOCK_STREAM> Socket.unix_server_socket("/tmp/sock") {|s| p s #=> #<Socket:fd 3> p s.local_address #=> # #<Addrinfo: /tmp/sock SOCK_STREAM> }
unpack_sockaddr_in(sockaddr) -> Array
[permalink][rdoc]socket/ソケットアドレス構造体を pack した文字列を unpack したアドレスを返します。返される値は [port, ipaddr] の配列です。
例:
require 'socket' p Socket.unpack_sockaddr_in(Socket.sockaddr_in("echo", "localhost")) => [7, "127.0.0.1"] p Socket.unpack_sockaddr_in(Socket.sockaddr_in("echo", "::1")) => [7, "::1"]
unpack_sockaddr_un(sockaddr) -> String
[permalink][rdoc]socket/ソケットアドレス構造体を pack した文字列を unpack したソケットパス名を返します。
例:
require 'socket' p Socket.unpack_sockaddr_un(Socket.sockaddr_un("/tmp/.X11-unix/X0")) => "/tmp/.X11-unix/X0"
accept -> Array
[permalink][rdoc]新しい接続を受け付けて、新しい接続に対するソケットとアドレスのペアを返します。accept(2) を参照。
たとえば IPv4 の TCP サーバソケットを生成し、accept でクライアントからの接続を受け付けるには以下のようにします。
例:
require 'socket' serv = Socket.new(Socket::AF_INET, Socket::SOCK_STREAM, 0) sockaddr = Socket.sockaddr_in(8080, "0.0.0.0") serv.bind(sockaddr) serv.listen(5) sock = serv.accept
accept_nonblock -> Array
[permalink][rdoc]ソケットをノンブロッキングモードに設定した後、 accept(2) を呼び出します。
引数、返り値は Socket#accept と同じです。
accept(2) がエラーになった場合、 EAGAIN, EINTR を含め例外 Errno::EXXX が発生します。
bind(my_sockaddr) -> 0
[permalink][rdoc]ソケットを my_sockaddr に結合します。bind(2) と同じ働きをします。
connect(server_sockaddr) -> 0
[permalink][rdoc]connect(2) でソケットを接続します。
server_sockaddr は、 socket/ソケットアドレス構造体を pack した文字列 もしくは Addrinfo オブジェクトです。
0 を返します。
たとえば IPv4 の TCP ソケットを生成し、connect で www.ruby-lang.org:80 に接続するには以下のようにします。
例:
require 'socket' s = Socket.new(Socket::AF_INET, Socket::SOCK_STREAM, 0) sockaddr = Socket.sockaddr_in(80, "www.ruby-lang.org") s.connect(sockaddr) s.write "GET / HTTP/1.0\r\n\r\n" print s.read
connect_nonblock(server_sockaddr) -> 0
[permalink][rdoc]ソケットをノンブロッキングモードに設定した後、 connect(2) を呼び出します。
引数、返り値は Socket#connect と同じです。
connect が EINPROGRESS エラーを報告した場合、その例外(Errno::EINPROGRESS) には IO::WaitWritable が Object#extend されます。これを connect_nonblock をリトライするために使うことができます。
# Pull down Google's web page require 'socket' include Socket::Constants socket = Socket.new(AF_INET, SOCK_STREAM, 0) sockaddr = Socket.sockaddr_in(80, 'www.google.com') begin # emulate blocking connect socket.connect_nonblock(sockaddr) rescue IO::WaitWritable IO.select(nil, [socket]) # wait 3-way handshake completion begin socket.connect_nonblock(sockaddr) # check connection failure rescue Errno::EISCONN end end socket.write("GET / HTTP/1.0\r\n\r\n") results = socket.read
ipv6only! -> ()
[permalink][rdoc]ソケットの IPV6_V6ONLY オプションを有効にします。
IPV6_V6ONLY オプションが使えない場合はこのメソッドは何もしません。
listen(backlog) -> 0
[permalink][rdoc]listen(2) と同じ働きをします。
0 を返します。
recvfrom(maxlen, flags=0) -> [String, Addrinfo]
[permalink][rdoc]ソケットからデータを受け取ります。
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"]
recvfrom_nonblock(maxlen, flags=0) -> [String, Addrinfo]
[permalink][rdoc]ソケットをノンブロッキングモードに設定した後、 recvfrom(2) を呼び出します。
引数、返り値は Socket#recvfrom と同じです。
recvfrom(2) がエラーになった場合、 EAGAIN, EINTR を含め例外 Errno::EXXX が発生します。 Errno::EWOULDBLOCK、Errno::EAGAIN のような待ってからリトライすることが可能であることを意味する例外には、IO::WaitReadable が extend されています。
sysaccept -> Array
[permalink][rdoc]接続したクライアントのファイル記述子とアドレスのペアを返すことを除けば Socket#accept と同じです。
AF_APPLETALK -> Integer
[permalink][rdoc]PF_APPLETALK -> Integer
Apple talk。 Socket.open の第一引数 domain に使用します。
[SEE_ALSO] socket(2linux), socket(2freebsd), ddp(7linux)
AF_ATM -> Integer
[permalink][rdoc]PF_ATM -> Integer
ATM。 Socket.open の第一引数 domain に使用します。
[SEE_ALSO] socket(2freebsd)
AF_AX25 -> Integer
[permalink][rdoc]PF_AX25 -> Integer
ITU-T X.25 / ISO-8208。 Socket.open の第一引数 domain に使用します。
[SEE_ALSO] socket(2linux)
AF_CCITT -> Integer
[permalink][rdoc]PF_CCITT -> Integer
[TODO]
CCITT プロトコル。 Socket.open の第一引数 domain に使用します。
AF_CHAOS -> Integer
[permalink][rdoc]PF_CHAOS -> Integer
[TODO]
MIT CHAOS プロトコル。 Socket.open の第一引数 domain に使用します。
AF_CNT -> Integer
[permalink][rdoc]PF_CNT -> Integer
[TODO]
Computer Network Technology。 Socket.open の第一引数 domain に使用します。
AF_COIP -> Integer
[permalink][rdoc]PF_COIP -> Integer
[TODO]
connection-oriented IP。 Socket.open の第一引数 domain に使用します。
AF_DATAKIT -> Integer
[permalink][rdoc]PF_DATAKIT -> Integer
[TODO]
datakit protocol。 Socket.open の第一引数 domain に使用します。
AF_DEC -> Integer
[permalink][rdoc]PF_DEC -> Integer
[TODO]
DECnet protocol。 Socket.open の第一引数 domain に使用します。
AF_DLI -> Integer
[permalink][rdoc]PF_DLI -> Integer
[TODO]
DEC Direct data link interface。 Socket.open の第一引数 domain に使用します。
AF_E164 -> Integer
[permalink][rdoc][TODO]
CCITT E.164 recommendation。 Socket.open の第一引数 domain に使用します。
AF_ECMA -> Integer
[permalink][rdoc]PF_ECMA -> Integer
[TODO]
European computer manufacturers。 Socket.open の第一引数 domain に使用します。
AF_HYLINK -> Integer
[permalink][rdoc]PF_HYLINK -> Integer
[TODO]
NSC Hyperchannel。 Socket.open の第一引数 domain に使用します。
AF_IMPLINK -> Integer
[permalink][rdoc]PF_IMPLINK -> Integer
[TODO]
ARPANET IMP。 Socket.open の第一引数 domain に使用します。
AF_INET -> Integer
[permalink][rdoc]PF_INET -> Integer
IPv4。 Socket.open の第一引数 domain に使用します。
[SEE_ALSO] sys/socket.h(header), socket(2freebsd), ip(7linux)
AF_INET6 -> Integer
[permalink][rdoc]PF_INET6 -> Integer
IPv6。 Socket.open の第一引数 domain に使用します。
[SEE_ALSO] sys/socket.h(header), socket(2freebsd), ipv6(7linux)
AF_IPX -> Integer
[permalink][rdoc]PF_IPX -> Integer
IPX(Novell Internet Packet eXchange protocol)。 Socket.open の第一引数 domain に使用します。
[SEE_ALSO] socket(3linux)
AF_ISDN -> Integer
[permalink][rdoc]PF_ISDN -> Integer
[TODO]
Integrated Services Digital Network。 Socket.open の第一引数 domain に使用します。
AF_ISO -> Integer
[permalink][rdoc]AF_OSI -> Integer
PF_ISO -> Integer
PF_OSI -> Integer
[TODO]
ISO Open Systems Interconnection protocols。 Socket.open の第一引数 domain に使用します。
AF_LAT -> Integer
[permalink][rdoc]PF_LAT -> Integer
[TODO]
Local Area Transport protocol。 Socket.open の第一引数 domain に使用します。
AF_LINK -> Integer
[permalink][rdoc]PF_LINK -> Integer
[TODO]
Link layer interface。 Socket.open の第一引数 domain に使用します。
AF_LOCAL -> Integer
[permalink][rdoc]AF_UNIX -> Integer
PF_LOCAL -> Integer
PF_UNIX -> Integer
Unix domain socket。 Socket.open の第一引数 domain に使用します。
[SEE_ALSO] sys/socket.h(header), unix(7linux)
AF_MAX -> Integer
[permalink][rdoc]対象のプラットフォーム上でのアドレスファミリーの最大の数値。
[SEE_ALSO] Socket::Constants::PF_MAX
AF_NATM -> Integer
[permalink][rdoc]PF_NATM -> Integer
[TODO]
Native ATM access。 Socket.open の第一引数 domain に使用します。
AF_NDRV -> Integer
[permalink][rdoc]PF_NDRV -> Integer
[TODO]
Network driver raw access。 Socket.open の第一引数 domain に使用します。
AF_NETBIOS -> Integer
[permalink][rdoc]PF_NETBIOS -> Integer
[TODO]
NetBIOS。 Socket.open の第一引数 domain に使用します。
AF_NETGRAPH -> Integer
[permalink][rdoc]PF_NETGRAPH -> Integer
Netgraph sockets。 Socket.open の第一引数 domain に使用します。
[SEE_ALSO] socket(2freebsd)
AF_NS -> Integer
[permalink][rdoc]PF_NS -> Integer
[TODO]
XEROX NS protocol。 Socket.open の第一引数 domain に使用します。
AF_PACKET -> Integer
[permalink][rdoc]PF_PACKET -> Integer
デバイスレベルインターフェース。 Socket.open の第一引数 domain に使用します。
[SEE_ALSO] socket(2linux), packet(7linux)
AF_PPP -> Integer
[permalink][rdoc]PF_PPP -> Integer
[TODO]
Point-to-Point Protocol。 Socket.open の第一引数 domain に使用します。
AF_PUP -> Integer
[permalink][rdoc]PF_PUP -> Integer
PUP(PARC Universal Packet)。 Socket.open の第一引数 domain に使用します。
[SEE_ALSO] socket(2freebsd)
AF_ROUTE -> Integer
[permalink][rdoc]PF_ROUTE -> Integer
[TODO]
Internal Routing protocol。 Socket.open の第一引数 domain に使用します。
[TODO]
AF_SIP -> Integer
[permalink][rdoc]PF_SIP -> Integer
[TODO]
Simple Internet Protocol。 Socket.open の第一引数 domain に使用します。
AF_SNA -> Integer
[permalink][rdoc]PF_SNA -> Integer
[TODO]
IBM SNA protocol。 Socket.open の第一引数 domain に使用します。
AF_SYSTEM -> Integer
[permalink][rdoc]PF_SYSTEM -> Integer
[TODO]
Socket.open の第一引数 domain に使用します。
AF_UNSPEC -> Integer
[permalink][rdoc]アドレスファミリー不定。
[SEE_ALSO] Socket.open, sys/socket.h(header)
AI_ADDRCONFIG -> Integer
[permalink][rdoc]Accept only if any address is assigned。
Socket.getaddrinfo, Addrinfo.getaddrinfo の引数 flags に渡す定数です。
[SEE_ALSO] getaddrinfo(3)
AI_ALL -> Integer
[permalink][rdoc]Allow all addresses。
Socket.getaddrinfo, Addrinfo.getaddrinfo の引数 flags に渡す定数です。
[SEE_ALSO] getaddrinfo(3)
AI_CANONNAME -> Integer
[permalink][rdoc]Fill in the canonical name。
Socket.getaddrinfo, Addrinfo.getaddrinfo の引数 flags に渡す定数です。
[SEE_ALSO] getaddrinfo(3)
AI_DEFAULT -> Integer
[permalink][rdoc]Default flags for getaddrinfo。
Socket.getaddrinfo, Addrinfo.getaddrinfo の引数 flags に渡す定数です。
[SEE_ALSO] getipnodebyname(3freebsd)
AI_MASK -> Integer
[permalink][rdoc][TODO]
AI_NUMERICHOST -> Integer
[permalink][rdoc]Prevent host name resolution。
Socket.getaddrinfo, Addrinfo.getaddrinfo の引数 flags に渡す定数です。
[SEE_ALSO] getaddrinfo(3)
AI_NUMERICSERV -> Integer
[permalink][rdoc]Prevent server name resolution。
Socket.getaddrinfo, Addrinfo.getaddrinfo の引数 flags に渡す定数です。
[SEE_ALSO] getaddrinfo(3)
AI_PASSIVE -> Integer
[permalink][rdoc]Get address to use with bind。
Socket.getaddrinfo, Addrinfo.getaddrinfo の引数 flags に渡す定数です。
[SEE_ALSO] getaddrinfo(3)
AI_V4MAPPED -> Integer
[permalink][rdoc]Accept IPv4-mapped IPv6 addresses。
Socket.getaddrinfo, Addrinfo.getaddrinfo の引数 flags に渡す定数です。
[SEE_ALSO] getaddrinfo(3)
AI_V4MAPPED_CFG -> Integer
[permalink][rdoc]Accept IPv4 mapped addresses if the kernel supports it。
Socket.getaddrinfo, Addrinfo.getaddrinfo の引数 flags に渡す定数です。
[SEE_ALSO] getipnodebyname(3freebsd)
EAI_ADDRFAMILY -> Integer
[permalink][rdoc]Address family for hostname not supported
getaddrinfo(3), getnameinfo(3) などのエラーコードです。対応する Socket.getaddrinfo, Addrinfo.getaddrinfo などはエラーを SocketError に変換するため、この定数は直接は利用しません。
[SEE_ALSO] getaddrinfo(3linux), gai_strerror(3freebsd)
EAI_AGAIN -> Integer
[permalink][rdoc]Temporary failure in name resolution
getaddrinfo(3), getnameinfo(3) などのエラーコードです。対応する Socket.getaddrinfo, Addrinfo.getaddrinfo などはエラーを SocketError に変換するため、この定数は直接は利用しません。
[SEE_ALSO] getaddrinfo(3linux), gai_strerror(3freebsd)
EAI_BADFLAGS -> Integer
[permalink][rdoc]Invalid flags
getaddrinfo(3), getnameinfo(3) などのエラーコードです。対応する Socket.getaddrinfo, Addrinfo.getaddrinfo などはエラーを SocketError に変換するため、この定数は直接は利用しません。
[SEE_ALSO] getaddrinfo(3linux), gai_strerror(3freebsd)
EAI_BADHINTS -> Integer
[permalink][rdoc]Invalid value for hints
getaddrinfo(3), getnameinfo(3) などのエラーコードです。対応する Socket.getaddrinfo, Addrinfo.getaddrinfo などはエラーを SocketError に変換するため、この定数は直接は利用しません。
EAI_FAIL -> Integer
[permalink][rdoc]Non-recoverable failure in name resolution
getaddrinfo(3), getnameinfo(3) などのエラーコードです。対応する Socket.getaddrinfo, Addrinfo.getaddrinfo などはエラーを SocketError に変換するため、この定数は直接は利用しません。
[SEE_ALSO] getaddrinfo(3linux), gai_strerror(3freebsd)
EAI_FAMILY -> Integer
[permalink][rdoc]Address family not supported
getaddrinfo(3), getnameinfo(3) などのエラーコードです。対応する Socket.getaddrinfo, Addrinfo.getaddrinfo などはエラーを SocketError に変換するため、この定数は直接は利用しません。
[SEE_ALSO] getaddrinfo(3linux), gai_strerror(3freebsd)
EAI_MAX -> Integer
[permalink][rdoc]EAI_* 定数の最大値。
EAI_MEMORY -> Integer
[permalink][rdoc]Memory allocation failure
getaddrinfo(3), getnameinfo(3) などのエラーコードです。対応する Socket.getaddrinfo, Addrinfo.getaddrinfo などはエラーを SocketError に変換するため、この定数は直接は利用しません。
[SEE_ALSO] getaddrinfo(3linux), gai_strerror(3freebsd)
EAI_NODATA -> Integer
[permalink][rdoc]No address associated with hostname
getaddrinfo(3), getnameinfo(3) などのエラーコードです。対応する Socket.getaddrinfo, Addrinfo.getaddrinfo などはエラーを SocketError に変換するため、この定数は直接は利用しません。
[SEE_ALSO] getaddrinfo(3linux)
EAI_NONAME -> Integer
[permalink][rdoc]Hostname nor servname, or not known
getaddrinfo(3), getnameinfo(3) などのエラーコードです。対応する Socket.getaddrinfo, Addrinfo.getaddrinfo などはエラーを SocketError に変換するため、この定数は直接は利用しません。
[SEE_ALSO] getaddrinfo(3linux), gai_strerror(3freebsd)
EAI_OVERFLOW -> Integer
[permalink][rdoc]Argument buffer overflow
getaddrinfo(3), getnameinfo(3) などのエラーコードです。対応する Socket.getaddrinfo, Addrinfo.getaddrinfo などはエラーを SocketError に変換するため、この定数は直接は利用しません。
[SEE_ALSO] getaddrinfo(3linux), gai_strerror(3freebsd)
EAI_PROTOCOL -> Integer
[permalink][rdoc]Resolved protocol is unknown
getaddrinfo(3), getnameinfo(3) などのエラーコードです。対応する Socket.getaddrinfo, Addrinfo.getaddrinfo などはエラーを SocketError に変換するため、この定数は直接は利用しません。
[SEE_ALSO] getaddrinfo(3linux), gai_strerror(3freebsd)
EAI_SERVICE -> Integer
[permalink][rdoc]Servname not supported for socket type
getaddrinfo(3), getnameinfo(3) などのエラーコードです。対応する Socket.getaddrinfo, Addrinfo.getaddrinfo などはエラーを SocketError に変換するため、この定数は直接は利用しません。
[SEE_ALSO] getaddrinfo(3linux), gai_strerror(3freebsd)
EAI_SOCKTYPE -> Integer
[permalink][rdoc]Socket type not supported
getaddrinfo(3), getnameinfo(3) などのエラーコードです。対応する Socket.getaddrinfo, Addrinfo.getaddrinfo などはエラーを SocketError に変換するため、この定数は直接は利用しません。
[SEE_ALSO] getaddrinfo(3linux), gai_strerror(3freebsd)
EAI_SYSTEM -> Integer
[permalink][rdoc]System error returned in errno
getaddrinfo(3), getnameinfo(3) などのエラーコードです。対応する Socket.getaddrinfo, Addrinfo.getaddrinfo などはエラーを適当な例外に変換するため、この定数は直接は利用しません。
[SEE_ALSO] getaddrinfo(3linux), gai_strerror(3freebsd)
IFF_802_1Q_VLAN
[permalink][rdoc]802.1Q VLAN device
IFF_ALLMULTI
[permalink][rdoc]receive all multicast packets
IFF_ALTPHYS
[permalink][rdoc]use alternate physical connection
IFF_AUTOMEDIA
[permalink][rdoc]auto media select active
IFF_BONDING
[permalink][rdoc]bonding master or slave
IFF_BRIDGE_PORT
[permalink][rdoc]device used as bridge port
IFF_BROADCAST
[permalink][rdoc]broadcast address valid
IFF_CANTCHANGE
[permalink][rdoc]flags not changeable
IFF_CANTCONFIG
[permalink][rdoc]unconfigurable using ioctl(2)
IFF_DEBUG
[permalink][rdoc]turn on debugging
IFF_DISABLE_NETPOLL
[permalink][rdoc]disable netpoll at run-time
IFF_DONT_BRIDGE
[permalink][rdoc]disallow bridging this ether dev
IFF_DORMANT
[permalink][rdoc]driver signals dormant
IFF_DRV_OACTIVE
[permalink][rdoc]tx hardware queue is full
IFF_DRV_RUNNING
[permalink][rdoc]resources allocated
IFF_DYING
[permalink][rdoc]interface is winding down
IFF_DYNAMIC
[permalink][rdoc]dialup device with changing addresses
IFF_EBRIDGE
[permalink][rdoc]ethernet bridging device
IFF_ECHO
[permalink][rdoc]echo sent packets
IFF_ISATAP
[permalink][rdoc]ISATAP interface (RFC4214)
IFF_LINK0
[permalink][rdoc]per link layer defined bit 0
IFF_LINK1
[permalink][rdoc]per link layer defined bit 1
IFF_LINK2
[permalink][rdoc]per link layer defined bit 2
IFF_LIVE_ADDR_CHANGE
[permalink][rdoc]hardware address change when it's running
IFF_LOOPBACK
[permalink][rdoc]loopback net
IFF_LOWER_UP
[permalink][rdoc]driver signals L1 up
IFF_MACVLAN_PORT
[permalink][rdoc]device used as macvlan port
IFF_MASTER
[permalink][rdoc]master of a load balancer
IFF_MASTER_8023AD
[permalink][rdoc]bonding master, 802.3ad.
IFF_MASTER_ALB
[permalink][rdoc]bonding master, balance-alb.
IFF_MASTER_ARPMON
[permalink][rdoc]bonding master, ARP mon in use
IFF_MONITOR
[permalink][rdoc]user-requested monitor mode
IFF_MULTICAST
[permalink][rdoc]supports multicast
IFF_NOARP
[permalink][rdoc]no address resolution protocol
IFF_NOTRAILERS
[permalink][rdoc]avoid use of trailers
IFF_OACTIVE
[permalink][rdoc]transmission in progress
IFF_OVS_DATAPATH
[permalink][rdoc]device used as Open vSwitch datapath port
IFF_POINTOPOINT
[permalink][rdoc]point-to-point link
IFF_PORTSEL
[permalink][rdoc]can set media type
IFF_PPROMISC
[permalink][rdoc]user-requested promisc mode
IFF_PROMISC
[permalink][rdoc]receive all packets
IFF_RENAMING
[permalink][rdoc]interface is being renamed
IFF_ROUTE
[permalink][rdoc]routing entry installed
IFF_RUNNING
[permalink][rdoc]resources allocated
IFF_SIMPLEX
[permalink][rdoc]can't hear own transmissions
IFF_SLAVE
[permalink][rdoc]slave of a load balancer
IFF_SLAVE_INACTIVE
[permalink][rdoc]bonding slave not the curr. active
IFF_SLAVE_NEEDARP
[permalink][rdoc]need ARPs for validation
IFF_SMART
[permalink][rdoc]interface manages own routes
IFF_STATICARP
[permalink][rdoc]static ARP
IFF_SUPP_NOFCS
[permalink][rdoc]sending custom FCS
IFF_TEAM_PORT
[permalink][rdoc]used as team port
IFF_TX_SKB_SHARING
[permalink][rdoc]sharing skbs on transmit
IFF_UNICAST_FLT
[permalink][rdoc]unicast filtering
IFF_UP
[permalink][rdoc]interface is up
IFF_VOLATILE
[permalink][rdoc]volatile flags
IFF_WAN_HDLC
[permalink][rdoc]WAN HDLC device
IFF_XMIT_DST_RELEASE
[permalink][rdoc]dev_hard_start_xmit() is allowed to release skb->dst
IFNAMSIZ -> Integer
[permalink][rdoc]IF_NAMESIZE -> Integer
インターフェース名文字列の最大長さ。
[SEE_ALSO] net/if.h(header)
INADDR_ALLHOSTS_GROUP -> Integer
[permalink][rdoc]Multicast group for all systems on this subset。 IPv4の 244.0.0.1 に対応する整数です。
[SEE_ALSO] http://www.iana.org/assignments/multicast-addresses/multicast-addresses.xml, [RFC5771]
INADDR_ANY -> Integer
[permalink][rdoc]A socket bound to INADDR_ANY receives packets from all interfaces and sends from the default IP address。 IPv4アドレスの 0.0.0.0 に対応する整数です。
[SEE_ALSO] netinet/in.h(header), ip(7linux), ip(4freebsd)
INADDR_BROADCAST -> Integer
[permalink][rdoc]The network broadcast address。 IPv4のブロードキャストアドレス 255.255.255.255 に対応する整数です。
[SEE_ALSO] netinet/in.h(header), ip(7linux), ip(4freebsd)
INADDR_LOOPBACK -> Integer
[permalink][rdoc]The loopback address。 IPv4のループバックアドレス 127.0.0.1 に対応する整数です。
[SEE_ALSO] ip(7linux), ip(4freebsd)
INADDR_MAX_LOCAL_GROUP -> Integer
[permalink][rdoc]The last local network multicast group。 IPv4の 244.0.0.255 に対応する整数です。
[SEE_ALSO] http://www.iana.org/assignments/multicast-addresses/multicast-addresses.xml, [RFC5771]
INADDR_NONE -> Integer
[permalink][rdoc]A bitmask for matching no valid IP address。エラーを表すアドレス値です。
INADDR_UNSPEC_GROUP -> Integer
[permalink][rdoc]The reserved multicast group。 IPv4の 244.0.0.0 に対応する整数です。
[SEE_ALSO] http://www.iana.org/assignments/multicast-addresses/multicast-addresses.xml, [RFC5771]
INET6_ADDRSTRLEN -> Integer
[permalink][rdoc]IPv6アドレス文字列の最大長。
[SEE_ALSO] netinet/in.h(header)
INET_ADDRSTRLEN -> Integer
[permalink][rdoc]IPv4アドレス文字列の最大長。
[SEE_ALSO] netinet/in.h(header)
IPPORT_RESERVED -> Integer
[permalink][rdoc]利用法が予約されているポート番号の最大値。
IPPORT_USERRESERVED -> Integer
[permalink][rdoc]ユーザが自由に利用して良いポート番号の最小値。
IPPROTO_AH -> Integer
[permalink][rdoc]IPv6 auth header。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
[SEE_ALSO] [RFC2292]
IPPROTO_BIP -> Integer
[permalink][rdoc][TODO]
BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
IPPROTO_DSTOPTS -> Integer
[permalink][rdoc]IPv6 destination option。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
[SEE_ALSO] [RFC2292]
IPPROTO_EGP -> Integer
[permalink][rdoc][TODO]
Exterior Gateway Protocol。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
IPPROTO_EON -> Integer
[permalink][rdoc][TODO]
ISO cnlp。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
IPPROTO_ESP -> Integer
[permalink][rdoc]IPv6 Encapsulated Security Payload。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
[SEE_ALSO] [RFC2292]
IPPROTO_FRAGMENT -> Integer
[permalink][rdoc]IPv6 fragmentation header。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
[SEE_ALSO] [RFC2292]
IPPROTO_GGP -> Integer
[permalink][rdoc][TODO]
Gateway to Gateway Protocol。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
IPPROTO_HELLO -> Integer
[permalink][rdoc][TODO]
"hello" routing protocol。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
IPPROTO_HOPOPTS -> Integer
[permalink][rdoc]IPv6 hop-by-hop options。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
[SEE_ALSO] [RFC2292]
IPPROTO_ICMP -> Integer
[permalink][rdoc]Control message protocol。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
[SEE_ALSO] netinet/in.h(header) icmp(4freebsd), icmp(7linux)
IPPROTO_ICMPV6 -> Integer
[permalink][rdoc]Internet Control Message Protocol for IPv6。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
[SEE_ALSO] icmp6(4freebsd), [RFC2292]
IPPROTO_IDP -> Integer
[permalink][rdoc][TODO]
XNS IDP。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
IPPROTO_IGMP -> Integer
[permalink][rdoc][TODO]
Group Management Protocol。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
IPPROTO_IP -> Integer
[permalink][rdoc]Internet protocol。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
[SEE_ALSO] netinet/in.h(header) ip(4freebsd), ip(7linux)
IPPROTO_IPV6 -> Integer
[permalink][rdoc]Internet Protocol Version 6。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
[SEE_ALSO] netinet/in.h(header) ip6(4freebsd), ipv6(7linux) [RFC2292]
IPPROTO_MAX -> Integer
[permalink][rdoc]IPPROTO 定数の最大値。
IPPROTO_ND -> Integer
[permalink][rdoc][TODO]
Sun net disk protocol BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
IPPROTO_NONE -> Integer
[permalink][rdoc]IP6 no next header。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
[SEE_ALSO] [RFC2292]
IPPROTO_PUP -> Integer
[permalink][rdoc][TODO]
PARC Universal Packet protocol。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
IPPROTO_RAW -> Integer
[permalink][rdoc]Raw IP packets protocol。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
[SEE_ALSO] netinet/in.h(header) ip(4freebsd), raw(7linux)
IPPROTO_ROUTING -> Integer
[permalink][rdoc]BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
[SEE_ALSO] [RFC2292]
IPPROTO_TCP -> Integer
[permalink][rdoc]Transmission control protocol。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
[SEE_ALSO] netinet/in.h(header) tcp(4freebsd), tcp(7linux)
IPPROTO_TP -> Integer
[permalink][rdoc][TODO]
ISO transport protocol class 4。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
IPPROTO_UDP -> Integer
[permalink][rdoc]User Datagram Protocol。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
[SEE_ALSO] netinet/in.h(header) udp(4freebsd), udp(7linux)
IPPROTO_XTP -> Integer
[permalink][rdoc][TODO]
Xpress Transport Protocol。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
IPV6_CHECKSUM -> Integer
[permalink][rdoc]Byte offset into a packet where the checksum is located. BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IPV6, ip6(4freebsd), [RFC3542]
IPV6_DONTFRAG -> Integer
[permalink][rdoc]Don't fragment packets。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IPV6, [RFC3542]
IPV6_DSTOPTS -> Integer
[permalink][rdoc]Destination options。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IPV6, ip6(4freebsd), ipv6(7linux), [RFC3542]
IPV6_HOPLIMIT -> Integer
[permalink][rdoc]Hop limit。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IPV6, ip6(4freebsd), ipv6(7linux), [RFC3542]
IPV6_HOPOPTS -> Integer
[permalink][rdoc]Hop-by-hop options。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IPV6, ip6(4freebsd), ipv6(7linux), [RFC3542]
IPV6_JOIN_GROUP -> Integer
[permalink][rdoc]Join a multicast group。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IPV6, netinet/in.h(header), ip6(4freebsd), ipv6(7linux), [RFC3493]
IPV6_LEAVE_GROUP -> Integer
[permalink][rdoc]Leave a multicast group。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IPV6, netinet/in.h(header), ip6(4freebsd), ipv6(7linux), [RFC3493]
IPV6_MULTICAST_HOPS -> Integer
[permalink][rdoc]IPv6 multicast hop limit。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IPV6, netinet/in.h(header), ip6(4freebsd), ipv6(7linux), [RFC3493]
IPV6_MULTICAST_IF -> Integer
[permalink][rdoc]IP6 multicast interface。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IPV6, netinet/in.h(header), ip6(4freebsd), ipv6(7linux), [RFC3493]
IPV6_MULTICAST_LOOP -> Integer
[permalink][rdoc]IP6 multicast loopback。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IPV6, netinet/in.h(header), ip6(4freebsd), ipv6(7linux), [RFC3493]
IPV6_NEXTHOP -> Integer
[permalink][rdoc]Next hop address。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IPV6, [RFC3542]
IPV6_PATHMTU -> Integer
[permalink][rdoc]Retrieve current path MTU。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IPV6, [RFC3542]
IPV6_PKTINFO -> Integer
[permalink][rdoc]Receive packet information with datagram。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IPV6, ip6(4freebsd), ipv6(7linux), [RFC3542]
IPV6_RECVDSTOPTS -> Integer
[permalink][rdoc]Receive all IP6 options for response。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IPV6, [RFC3542]
IPV6_RECVHOPLIMIT -> Integer
[permalink][rdoc]Receive hop limit with datagram。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IPV6, [RFC3542]
IPV6_RECVHOPOPTS -> Integer
[permalink][rdoc]Receive hop-by-hop options。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IPV6, [RFC3542]
IPV6_RECVPATHMTU -> Integer
[permalink][rdoc]Receive current path MTU with datagram。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IPV6, [RFC3542]
IPV6_RECVPKTINFO -> Integer
[permalink][rdoc]Receive destination IP address and incoming interface。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IPV6, [RFC3542]
IPV6_RECVRTHDR -> Integer
[permalink][rdoc]Receive routing header。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IPV6, [RFC3542]
IPV6_RECVTCLASS -> Integer
[permalink][rdoc]Receive traffic class。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IPV6, [RFC3542]
IPV6_RTHDR -> Integer
[permalink][rdoc]Allows removal of sticky routing headers。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IPV6, [RFC3542]
IPV6_RTHDRDSTOPTS -> Integer
[permalink][rdoc]Allows removal of sticky destination options header。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IPV6, [RFC3542]
IPV6_RTHDR_TYPE_0 -> Integer
[permalink][rdoc]Routing header type 0。
BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IPV6, [RFC3542]
IPV6_TCLASS -> Integer
[permalink][rdoc]Specify the traffic class。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IPV6, [RFC3542]
IPV6_UNICAST_HOPS -> Integer
[permalink][rdoc]IPv6 unicast hop limit。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IPV6, netinet/in.h(header), ip6(4freebsd), ipv6(7linux), [RFC3493]
IPV6_USE_MIN_MTU -> Integer
[permalink][rdoc]Use the minimum MTU size。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IPV6, [RFC3542]
IPV6_V6ONLY -> Integer
[permalink][rdoc]Only bind IPv6。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IPV6, netinet/in.h(header), ip6(4freebsd), ipv6(7linux), [RFC3493]
IPX_TYPE -> Integer
[permalink][rdoc][TODO]
IP_ADD_MEMBERSHIP -> Integer
[permalink][rdoc]Add a multicast group membership
BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, ip(4freebsd), ip(7linux)
IP_ADD_SOURCE_MEMBERSHIP -> Integer
[permalink][rdoc]Add a multicast group membership。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, ip(4freebsd)
IP_BLOCK_SOURCE -> Integer
[permalink][rdoc]Block IPv4 multicast packets with a give source address。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, ip(4freebsd)
IP_DEFAULT_MULTICAST_LOOP -> Integer
[permalink][rdoc][TODO]
Default multicast loopback
IP_DEFAULT_MULTICAST_TTL -> Integer
[permalink][rdoc][TODO]
Default multicast TTL
IP_DONTFRAG -> Integer
[permalink][rdoc]Don't fragment packets。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, ip(4freebsd)
IP_DROP_MEMBERSHIP -> Integer
[permalink][rdoc]Drop a multicast group membership。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, ip(4freebsd), ip(7linux)
IP_DROP_SOURCE_MEMBERSHIP -> Integer
[permalink][rdoc]Drop a multicast group membership。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, ip(4freebsd)
IP_FREEBIND -> Integer
[permalink][rdoc]Allow binding to nonexistent IP addresses。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, ip(7linux)
IP_HDRINCL -> Integer
[permalink][rdoc]Header is included with data。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, ip(4freebsd)
IP_IPSEC_POLICY -> Integer
[permalink][rdoc]IPsec security policy。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, http://netbsd.gw.com/cgi-bin/man-cgi?ip++NetBSD-current
IP_MAX_MEMBERSHIPS -> Integer
[permalink][rdoc]Maximum number multicast groups a socket can join。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, ip(4freebsd)
IP_MINTTL -> Integer
[permalink][rdoc]Minimum TTL allowed for received packets。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, ip(4freebsd)
IP_MSFILTER -> Integer
[permalink][rdoc][TODO]
Multicast source filtering
IP_MTU -> Integer
[permalink][rdoc]The Maximum Transmission Unit of the socket。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, ip(7linux)
IP_MTU_DISCOVER -> Integer
[permalink][rdoc]Path MTU discovery。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, ip(7linux)
IP_MULTICAST_IF -> Integer
[permalink][rdoc]IP multicast interface。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, ip(4freebsd), ip(7linux)
IP_MULTICAST_LOOP -> Integer
[permalink][rdoc]IP multicast loopback。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, ip(4freebsd), ip(7linux)
IP_MULTICAST_TTL -> Integer
[permalink][rdoc]IP multicast TTL。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, ip(4freebsd), ip(7linux)
IP_ONESBCAST -> Integer
[permalink][rdoc]Force outgoing broadcast datagrams to have the undirected broadcast address。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, ip(4freebsd)
IP_OPTIONS -> Integer
[permalink][rdoc]IP options to be included in packets。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, ip(4freebsd), ip(7linux)
IP_PASSSEC -> Integer
[permalink][rdoc][TODO]
Retrieve security context with datagram。
IP_PKTINFO -> Integer
[permalink][rdoc]Receive packet information with datagrams。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, ip(7linux)
IP_PKTOPTIONS -> Integer
[permalink][rdoc][TODO]
Receive packet options with datagrams
IP_PMTUDISC_DO -> Integer
[permalink][rdoc]Always send DF frames。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, ip(7linux)
IP_PMTUDISC_DONT -> Integer
[permalink][rdoc]Never send DF frames。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, ip(7linux)
IP_PMTUDISC_WANT -> Integer
[permalink][rdoc]Use per-route hints。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, ip(7linux)
IP_PORTRANGE -> Integer
[permalink][rdoc]Set the port range for sockets with unspecified port numbers。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, ip(4freebsd)
IP_RECVDSTADDR -> Integer
[permalink][rdoc]Receive IP destination address with datagram。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, ip(4freebsd)
IP_RECVERR -> Integer
[permalink][rdoc]Enable extended reliable error message passing。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, ip(4freebsd)
IP_RECVIF -> Integer
[permalink][rdoc]Receive interface information with datagrams。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, ip(4freebsd)
IP_RECVOPTS -> Integer
[permalink][rdoc]Receive IP destination address with datagram。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, ip(7linux)
IP_RECVRETOPTS -> Integer
[permalink][rdoc][TODO]
Receive all IP options for response
IP_RECVSLLA -> Integer
[permalink][rdoc][TODO]
Receive link-layer address with datagrams
IP_RECVTOS -> Integer
[permalink][rdoc]Receive TOS with incoming packets。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, ip(7linux)
IP_RECVTTL -> Integer
[permalink][rdoc]Receive IP TTL with datagrams。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, ip(7linux), ip(4freebsd)
IP_RETOPTS -> Integer
[permalink][rdoc]IP options to be included in datagrams。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, ip(7linux)
IP_ROUTER_ALERT -> Integer
[permalink][rdoc]Notify transit routers to more closely examine the contents of an IP packet。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, ip(7linux)
IP_SENDSRCADDR -> Integer
[permalink][rdoc]ource address for outgoing UDP datagrams。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, ip(4freebsd)
IP_TOS -> Integer
[permalink][rdoc]IP type-of-service。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, ip(4freebsd), ip(7linux)
IP_TTL -> Integer
[permalink][rdoc]IP time-to-live。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, ip(4freebsd), ip(7linux)
IP_UNBLOCK_SOURCE -> Integer
[permalink][rdoc]Unblock IPv4 multicast packets with a give source address。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, ip(4freebsd)
IP_XFRM_POLICY -> Integer
[permalink][rdoc][TODO]
LOCAL_CONNWAIT -> Integer
[permalink][rdoc]Retrieve peer credentials。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] ip(4freebsd)
LOCAL_CREDS -> Integer
[permalink][rdoc]Pass credentials to receiver。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] ip(4freebsd)
LOCAL_PEERCRED -> Integer
[permalink][rdoc]Pass credentials to receiver。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] ip(4freebsd)
MCAST_BLOCK_SOURCE -> Integer
[permalink][rdoc]Block multicast packets from this source
BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, Socket::Constants::IPPROTO_IPV6, [RFC3678]
MCAST_EXCLUDE -> Integer
[permalink][rdoc]Exclusive multicast source filter
BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, Socket::Constants::IPPROTO_IPV6, [RFC3678]
MCAST_INCLUDE -> Integer
[permalink][rdoc]Inclusive multicast source filter
BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, Socket::Constants::IPPROTO_IPV6, [RFC3678]
MCAST_JOIN_GROUP -> Integer
[permalink][rdoc]Join a multicast group
BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, Socket::Constants::IPPROTO_IPV6, [RFC3678]
MCAST_JOIN_SOURCE_GROUP -> Integer
[permalink][rdoc]Join a multicast source group
BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, Socket::Constants::IPPROTO_IPV6, [RFC3678]
MCAST_LEAVE_GROUP -> Integer
[permalink][rdoc]Leave a multicast group
BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, Socket::Constants::IPPROTO_IPV6, [RFC3678]
MCAST_LEAVE_SOURCE_GROUP -> Integer
[permalink][rdoc]Leave a multicast source group
BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, Socket::Constants::IPPROTO_IPV6, [RFC3678]
MCAST_MSFILTER -> Integer
[permalink][rdoc][TODO]
Multicast source filtering
BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, Socket::Constants::IPPROTO_IPV6, [RFC3678]
MCAST_UNBLOCK_SOURCE -> Integer
[permalink][rdoc]Unblock multicast packets from this source
BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, Socket::Constants::IPPROTO_IPV6, [RFC3678]
MSG_COMPAT -> Integer
[permalink][rdoc][TODO]
End of record
MSG_CONFIRM -> Integer
[permalink][rdoc]Confirm path validity
BasicSocket#send, BasicSocket#sendmsg の flags 引数に用います。
[SEE_ALSO] send(2linux)
MSG_CTRUNC -> Integer
[permalink][rdoc]Control data lost before delivery。
BasicSocket#send, BasicSocket#sendmsg, BasicSocket#recv, BasicSocket#recvmsg の flags 引数に用います。
[SEE_ALSO] sys/socket.h(header), send(2linux), recv(2linux), send(2freebsd), recv(2freebsd)
MSG_DONTROUTE -> Integer
[permalink][rdoc]Send without using the routing tables。
BasicSocket#send, BasicSocket#sendmsg の flags 引数に用います。
[SEE_ALSO] sys/socket.h(header), send(2linux) send(2freebsd)
MSG_DONTWAIT -> Integer
[permalink][rdoc]This message should be non-blocking。
BasicSocket#send, BasicSocket#sendmsg, BasicSocket#recv, BasicSocket#recvmsg の flags 引数に用います。
[SEE_ALSO] send(2linux), recv(2linux), recv(2freebsd)
MSG_EOF -> Integer
[permalink][rdoc]Data completes connection。
BasicSocket#send, BasicSocket#sendmsg, BasicSocket#recv, BasicSocket#recvmsg の flags 引数に用います。
[SEE_ALSO] send(2freebsd)
MSG_EOR -> Integer
[permalink][rdoc]Data completes record。
BasicSocket#send, BasicSocket#sendmsg, BasicSocket#recv, BasicSocket#recvmsg の flags 引数に用います。
[SEE_ALSO] sys/socket.h(header), send(2), sendto(2), sendmsg(2), recv(2), recvfrom(2), recvmsg(2), send(2linux), recv(2linux), send(2freebsd), recv(2freebsd)
MSG_ERRQUEUE -> Integer
[permalink][rdoc]Fetch message from error queue
BasicSocket#recv, BasicSocket#recvmsg の flags 引数に用います。
[SEE_ALSO] recv(2linux)
MSG_FIN -> Integer
[permalink][rdoc][TODO]
MSG_FLUSH -> Integer
[permalink][rdoc][TODO]
Start of a hold sequence. Dumps to so_temp
MSG_HAVEMORE -> Integer
[permalink][rdoc][TODO]
Data ready to be read
MSG_HOLD -> Integer
[permalink][rdoc][TODO]
Hold fragment in so_temp
MSG_MORE -> Integer
[permalink][rdoc]Sender will send more
BasicSocket#send, BasicSocket#sendmsg の flags 引数に用います。
[SEE_ALSO] send(2linux)
MSG_NOSIGNAL -> Integer
[permalink][rdoc]Do not generate SIGPIPE
BasicSocket#send, BasicSocket#sendmsg の flags 引数に用います。
[SEE_ALSO] send(2linux), send(2freebsd)
MSG_OOB -> Integer
[permalink][rdoc]Process out-of-band data。
BasicSocket#send, BasicSocket#sendmsg, BasicSocket#recv, BasicSocket#recvmsg の flags 引数に用います。
[SEE_ALSO] sys/socket.h(header), send(2), sendto(2), sendmsg(2), recv(2), recvfrom(2), recvmsg(2), send(2linux), recv(2linux), send(2freebsd), recv(2freebsd)
MSG_PEEK -> Integer
[permalink][rdoc]Peek at incoming message。
BasicSocket#send, BasicSocket#sendmsg, BasicSocket#recv, BasicSocket#recvmsg の flags 引数に用います。
[SEE_ALSO] sys/socket.h(header), send(2), sendto(2), sendmsg(2), recv(2), recvfrom(2), recvmsg(2), send(2linux), recv(2linux), send(2freebsd), recv(2freebsd)
MSG_PROXY -> Integer
[permalink][rdoc][TODO]
Wait for full request
MSG_RCVMORE -> Integer
[permalink][rdoc][TODO]
Data remains in the current packet
MSG_RST -> Integer
[permalink][rdoc][TODO]
MSG_SEND -> Integer
[permalink][rdoc][TODO]
Send the packet in so_temp
MSG_SYN -> Integer
[permalink][rdoc][TODO]
MSG_TRUNC -> Integer
[permalink][rdoc]Data discarded before delivery。
BasicSocket#send, BasicSocket#sendmsg, BasicSocket#recv, BasicSocket#recvmsg の flags 引数に用います。
[SEE_ALSO] sys/socket.h(header), send(2linux), recv(2linux), send(2freebsd), recv(2freebsd)
MSG_WAITALL -> Integer
[permalink][rdoc]Wait for full request or error
BasicSocket#recv, BasicSocket#recvmsg の flags 引数に用います。
[SEE_ALSO] sys/socket.h(header), recv(2), recvfrom(2), recvmsg(2), recv(2linux), recv(2freebsd)
NI_DGRAM -> Integer
[permalink][rdoc]The service specified is a datagram service (looks up UDP ports)。
Socket.getnameinfo, Addrinfo#getnameinfo の引数 flags に渡す定数です。
require 'socket' Socket.getnameinfo([ Socket::AF_INET, 514, "127.0.0.1"], Socket::NI_DGRAM) # => ["localhost", "syslog"] Socket.getnameinfo([ Socket::AF_INET, 514, "127.0.0.1"]) # => ["localhost", "shell"]
[SEE_ALSO] getnameinfo(3)
NI_MAXHOST -> Integer
[permalink][rdoc]getnameinfo(3) で用いるホスト名文字列の最大長さ。
[SEE_ALSO] getnameinfo(3linux)
NI_MAXSERV -> Integer
[permalink][rdoc]getnameinfo(3) で用いるサービス名文字列の最大長さ。
[SEE_ALSO] getnameinfo(3linux)
NI_NAMEREQD -> Integer
[permalink][rdoc]A name is required。名前解決できなかった場合にエラーを返すことを意味します。
Socket.getnameinfo, Addrinfo#getnameinfo の引数 flags に渡す定数です。
require 'socket' # ここでは 192.0.2.18 は名前解決できないアドレス Addrinfo.tcp("192.0.2.18", 514).getnameinfo() # =>["192.0.2.18", "shell"] Addrinfo.tcp("192.0.2.18", 514).getnameinfo(Socket::NI_NAMEREQD) # SocketError が発生する
[SEE_ALSO] getnameinfo(3)
NI_NOFQDN -> Integer
[permalink][rdoc]An FQDN is not required for local hosts, return only the local part.
Socket.getnameinfo, Addrinfo#getnameinfo の引数 flags に渡す定数です。
[SEE_ALSO] getnameinfo(3)
NI_NUMERICHOST -> Integer
[permalink][rdoc]Return a numeric address.
Socket.getnameinfo, Addrinfo#getnameinfo の引数 flags に渡す定数です。
[SEE_ALSO] getnameinfo(3)
NI_NUMERICSERV -> Integer
[permalink][rdoc]Return the service name as a digit string
Socket.getnameinfo, Addrinfo#getnameinfo の引数 flags に渡す定数です。
[SEE_ALSO] getnameinfo(3)
PF_KEY -> Integer
[permalink][rdoc]Internal key-management function。 Socket.open の第一引数 domain に使用します。
[SEE_ALSO] socket(2freebsd)
PF_MAX -> Integer
[permalink][rdoc]プロトコルファミリーの最大数。
[SEE_ALSO] Socket::Constants::AF_MAX
PF_PIP -> Integer
[permalink][rdoc]Help Identify PIP packets。 Socket.open の第一引数 domain に使用します。
[SEE_ALSO] socket(2freebsd)
PF_RTIP -> Integer
[permalink][rdoc]Help Identify RTIP packets。 Socket.open の第一引数 domain に使用します。
[SEE_ALSO] socket(2freebsd)
PF_UNSPEC -> Integer
[permalink][rdoc]プロトコルファミリー不定。
[SEE_ALSO] Socket::Constants::AF_UNSPEC, Socket.open
PF_XTP -> Integer
[permalink][rdoc][TODO]
eXpress Transfer Protocol。
SCM_BINTIME -> Integer
[permalink][rdoc]Timestamp (bintime).
Socket::AncillaryData の type として利用します。
[SEE_ALSO] Socket::AncillaryData, Socket::AncillaryData#timestamp BasicSocket#sendmsg, BasicSocket#recvmsg
SCM_CREDENTIALS -> Integer
[permalink][rdoc]The sender's credentials
Socket::AncillaryData の type として利用します。
[SEE_ALSO] Socket::AncillaryData, BasicSocket#sendmsg, BasicSocket#recvmsg, unix(7linux)
SCM_CREDS -> Integer
[permalink][rdoc]Process credentials
Socket::AncillaryData の type として利用します。
[SEE_ALSO] Socket::AncillaryData, BasicSocket#sendmsg, BasicSocket#recvmsg, unix(4freebsd)
SCM_RIGHTS -> Integer
[permalink][rdoc]Access rights.
Socket::AncillaryData の type として利用します。
[SEE_ALSO] Socket::AncillaryData, Socket::AncillaryData#unix_rights BasicSocket#sendmsg, BasicSocket#recvmsg, unix(7linux), unix(4freebsd), sys/socket.h(header)
SCM_TIMESTAMP -> Integer
[permalink][rdoc]Timestamp (timeval).
Socket::AncillaryData の type として利用します。
[SEE_ALSO] Socket::AncillaryData, Socket::AncillaryData#timestamp BasicSocket#sendmsg, BasicSocket#recvmsg
SCM_TIMESTAMPNS -> Integer
[permalink][rdoc]Timestamp (timespec).
Socket::AncillaryData の type として利用します。
[SEE_ALSO] Socket::AncillaryData, Socket::AncillaryData#timestamp BasicSocket#sendmsg, BasicSocket#recvmsg
SCM_UCRED -> Integer
[permalink][rdoc][TODO]
User credentials。
SHUT_RD -> Integer
[permalink][rdoc]BasicSocket#shutdown の how 引数に使用します。
SHUT_RDWR -> Integer
[permalink][rdoc]BasicSocket#shutdown の how 引数に使用します。
SHUT_WR -> Integer
[permalink][rdoc]BasicSocket#shutdown の how 引数に使用します。
SOCK_DGRAM -> Integer
[permalink][rdoc]データグラム通信。 Socket.open の第二引数 type に使用します。
[SEE_ALSO] socket(2), Socket.open
SOCK_PACKET -> Integer
[permalink][rdoc]デバイスレベルインターフェース。Obsoleteであり使うべきではない。 Socket.open の第二引数 type に使用します。
[SEE_ALSO] packet(7linux), Socket.open
SOCK_RAW -> Integer
[permalink][rdoc]RAW ソケット。 Socket.open の第二引数 type に使用します。
[SEE_ALSO] sys/socket.h(header), socket(2linux), raw(7linux), Socket.open
SOCK_RDM -> Integer
[permalink][rdoc]信頼性のあるデータグラム通信。 Socket.open の第二引数 type に使用します。
[SEE_ALSO] socket(2linux), Socket.open
SOCK_SEQPACKET -> Integer
[permalink][rdoc]固定最大長を持つストリーム通信。 Socket.open の第二引数 type に使用します。
[SEE_ALSO] Socket.open, socket(2), socket(2linux), socket(2freebsd)
SOCK_STREAM -> Integer
[permalink][rdoc]ストリーム通信。 Socket.open の第二引数 type に使用します。
[SEE_ALSO] Socket.open, socket(2), socket(2linux), socket(2freebsd)
SOL_ATALK -> Integer
[permalink][rdoc][TODO]
AppleTalk socket options。 BasicSocket#getsockopt, BasicSocket#setsockopt の第一引数(level)に使用します。
SOL_AX25 -> Integer
[permalink][rdoc][TODO]
AX.25 socket options。 BasicSocket#getsockopt, BasicSocket#setsockopt の第一引数(level)に使用します。
SOL_IP -> Integer
[permalink][rdoc]IP socket options。 BasicSocket#getsockopt, BasicSocket#setsockopt の第一引数(level)に使用します。
SOL_IP はポータブルではありません。 IPPROTO_IP のほうがよりポータブルです。
[SEE_ALSO] getsockopt(2), setsockopt(2), ip(7linux) Socket::Constants::IPPROTO_IP
SOL_IPX -> Integer
[permalink][rdoc][TODO]
IPX socket options。 BasicSocket#getsockopt, BasicSocket#setsockopt の第一引数(level)に使用します。
SOL_SOCKET -> Integer
[permalink][rdoc]Socket level options。 BasicSocket#getsockopt, BasicSocket#setsockopt の第一引数(level)に使用します。
[SEE_ALSO] getsockopt(2), setsockopt(2), sys/socket.h(header), socket(7linux) getsockopt(2freebsd)
SOL_TCP -> Integer
[permalink][rdoc]TCP socket options。 BasicSocket#getsockopt, BasicSocket#setsockopt の第一引数(level)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_TCP
SOL_UDP -> Integer
[permalink][rdoc]UDP socket options。 BasicSocket#getsockopt, BasicSocket#setsockopt の第一引数(level)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_UDP
SOMAXCONN -> Integer
[permalink][rdoc]Socket#listen の backlog の最大長。
[SEE_ALSO] sys/socket.h(header), listen(2)
SOPRI_BACKGROUND -> Integer
[permalink][rdoc][TODO]
Background socket priority
SOPRI_INTERACTIVE -> Integer
[permalink][rdoc][TODO]
Interactive socket priority
SOPRI_NORMAL -> Integer
[permalink][rdoc]Normal socket priority
[TODO]
SO_ACCEPTCONN -> Integer
[permalink][rdoc]Socket has had listen() called on it。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] sys/socket.h(header), getsockopt(2freebsd), socket(7linux), Socket::Constants::SOL_SOCKET
SO_ACCEPTFILTER -> Integer
[permalink][rdoc]set accept filter on listening socket。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] getsockopt(2freebsd), Socket::Constants::SOL_SOCKET
SO_ALLZONES -> Integer
[permalink][rdoc][TODO]
Bypass zone boundaries。
SO_ATTACH_FILTER -> Integer
[permalink][rdoc]Attach socket filter。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] socket(7linux), http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=blob;f=Documentation/networking/filter.txt;hb=HEAD, Socket::Constants::SOL_SOCKET
SO_BINDTODEVICE -> Integer
[permalink][rdoc]Bind this socket to a particular device。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] socket(7linux), Socket::Constants::SOL_SOCKET
SO_BINTIME -> Integer
[permalink][rdoc]Timestamp (bintime)。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] getsockopt(2freebsd), Socket::Constants::SOL_SOCKET Socket::Constants::SO_TIMESTAMP, Socket::AncillaryData#timestamp
SO_BROADCAST -> Integer
[permalink][rdoc]Permit sending of broadcast messages。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] sys/socket.h(header), getsockopt(2freebsd), socket(7linux), Socket::Constants::SOL_SOCKET
SO_DEBUG -> Integer
[permalink][rdoc]Debug info recording。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] sys/socket.h(header), getsockopt(2freebsd), socket(7linux), Socket::Constants::SOL_SOCKET
SO_DETACH_FILTER -> Integer
[permalink][rdoc]Detach socket filter。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] socket(7linux), http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=blob;f=Documentation/networking/filter.txt;hb=HEAD, Socket::Constants::SOL_SOCKET
SO_DONTROUTE -> Integer
[permalink][rdoc]Send without using the routing tables。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] sys/socket.h(header), getsockopt(2freebsd), socket(7linux), Socket::Constants::SOL_SOCKET
SO_DONTTRUNC -> Integer
[permalink][rdoc][TODO]
Retain unread data
SO_ERROR -> Integer
[permalink][rdoc]Get socket error status。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] sys/socket.h(header), getsockopt(2freebsd), socket(7linux), Socket::Constants::SOL_SOCKET
SO_KEEPALIVE -> Integer
[permalink][rdoc]Keep connections alive。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] sys/socket.h(header), getsockopt(2freebsd), socket(7linux), Socket::Constants::SOL_SOCKET
SO_LINGER -> Integer
[permalink][rdoc]Linger on close if data is present。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] sys/socket.h(header), getsockopt(2freebsd), socket(7linux),Socket::Constants::SOL_SOCKET
SO_MAC_EXEMPT -> Integer
[permalink][rdoc][TODO]
Mandatory Access Control exemption for unlabeled peers。
SO_NKE -> Integer
[permalink][rdoc][TODO]
socket-level Network Kernel Extension。
SO_NOSIGPIPE -> Integer
[permalink][rdoc]Don't SIGPIPE on EPIPE。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] getsockopt(2freebsd), Socket::Constants::SOL_SOCKET
SO_NO_CHECK -> Integer
[permalink][rdoc][TODO]
Disable checksums。
SO_NREAD -> Integer
[permalink][rdoc][TODO]
Get first packet byte count。
SO_OOBINLINE -> Integer
[permalink][rdoc]Leave received out-of-band data in-line。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] sys/socket.h(header), getsockopt(2freebsd), socket(7linux), Socket::Constants::SOL_SOCKET
SO_PASSCRED -> Integer
[permalink][rdoc]Receive SCM_CREDENTIALS messages。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] socket(7linux), unix(7linux), Socket::Constants::SOL_SOCKET
SO_PEERCRED -> Integer
[permalink][rdoc]The credentials of the foreign process connected to this socket。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] socket(7linux), unix(7linux), socketpair(2linux), Socket::Constants::SOL_SOCKET
SO_PEERNAME -> Integer
[permalink][rdoc][TODO]
Name of the connecting user。
SO_PRIORITY -> Integer
[permalink][rdoc]The protocol-defined priority for all packets on this socket。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] socket(7linux), ip(7linux)
SO_RCVBUF -> Integer
[permalink][rdoc]Receive buffer size。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] sys/socket.h(header), getsockopt(2freebsd), socket(7linux), Socket::Constants::SOL_SOCKET
SO_RCVLOWAT -> Integer
[permalink][rdoc]Receive low-water mark。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] sys/socket.h(header), getsockopt(2freebsd), socket(7linux), Socket::Constants::SOL_SOCKET
SO_RCVTIMEO -> Integer
[permalink][rdoc]Receive timeout。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] sys/socket.h(header), getsockopt(2freebsd), socket(7linux)
SO_RECVUCRED -> Integer
[permalink][rdoc][TODO]
Receive user credentials with datagram。
SO_REUSEADDR -> Integer
[permalink][rdoc]Allow local address reuse。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] sys/socket.h(header), getsockopt(2freebsd), socket(7linux), bind(2), Socket::Constants::SOL_SOCKET
SO_REUSEPORT -> Integer
[permalink][rdoc]Allow local address and port reuse。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] getsockopt(2freebsd), Socket::Constants::SOL_SOCKET
SO_SECURITY_AUTHENTICATION -> Integer
[permalink][rdoc][TODO]
SO_SECURITY_ENCRYPTION_NETWORK -> Integer
[permalink][rdoc][TODO]
SO_SECURITY_ENCRYPTION_TRANSPORT -> Integer
[permalink][rdoc][TODO]
SO_SNDBUF -> Integer
[permalink][rdoc]Send buffer size。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] sys/socket.h(header), getsockopt(2freebsd), socket(7linux), Socket::Constants::SOL_SOCKET
SO_SNDLOWAT -> Integer
[permalink][rdoc]Receive low-water mark。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] sys/socket.h(header), getsockopt(2freebsd), socket(7linux), Socket::Constants::SOL_SOCKET
SO_SNDTIMEO -> Integer
[permalink][rdoc]Send timeout。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] sys/socket.h(header), getsockopt(2freebsd), socket(7linux), Socket::Constants::SOL_SOCKET
SO_TIMESTAMP -> Integer
[permalink][rdoc]Receive timestamp with datagrams (timeval)。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] getsockopt(2freebsd), socket(7linux), Socket::Constants::SOL_SOCKET Socket::AncillaryData#timestamp
SO_TIMESTAMPNS -> Integer
[permalink][rdoc][TODO]
Receive nanosecond timestamp with datagrams (timespec)。
[SEE_ALSO] Socket::Constants::SO_TIMESTAMP, Socket::AncillaryData#timestamp
SO_TYPE -> Integer
[permalink][rdoc]Get the socket type。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] sys/socket.h(header), getsockopt(2freebsd), socket(7linux), Socket::Constants::SOL_SOCKET
SO_USELOOPBACK -> Integer
[permalink][rdoc][TODO]
Bypass hardware when possible。
SO_WANTMORE -> Integer
[permalink][rdoc][TODO]
Give a hint when more data is ready。
SO_WANTOOBFLAG -> Integer
[permalink][rdoc][TODO]
OOB data is wanted in MSG_FLAG on receive。
TCP_CORK -> Integer
[permalink][rdoc]Don't send partial frames。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] tcp(7linux)
TCP_DEFER_ACCEPT -> Integer
[permalink][rdoc]Don't notify a listening socket until data is ready。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] tcp(7linux)
TCP_INFO -> Integer
[permalink][rdoc]Retrieve information about this socket。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] tcp(4freebsd), tcp(7linux)
TCP_KEEPCNT -> Integer
[permalink][rdoc]Maximum number of keepalive probes allowed before dropping a connection。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] tcp(7linux)
TCP_KEEPIDLE -> Integer
[permalink][rdoc]Idle time before keepalive probes are sent。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] tcp(7linux)
TCP_KEEPINTVL -> Integer
[permalink][rdoc]Time between keepalive probes。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] tcp(7linux)
TCP_LINGER2 -> Integer
[permalink][rdoc]Lifetime of orphaned FIN_WAIT2 sockets。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] tcp(7linux)
TCP_MAXSEG -> Integer
[permalink][rdoc]Set maximum segment size。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] tcp(4freebsd), tcp(7linux)
TCP_MD5SIG -> Integer
[permalink][rdoc]Use MD5 digests (RFC2385)。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] tcp(4freebsd), [RFC2385]
TCP_NODELAY -> Integer
[permalink][rdoc]Don't delay sending to coalesce packets。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] tcp(4freebsd), tcp(7linux), netinet/tcp.h(header)
TCP_NOOPT -> Integer
[permalink][rdoc]Don't use TCP options。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] tcp(4freebsd), tcp(7linux)
TCP_NOPUSH -> Integer
[permalink][rdoc]Don't push the last block of write。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] tcp(4freebsd), tcp(7linux)
TCP_QUICKACK -> Integer
[permalink][rdoc]Enable quickack mode。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] tcp(7linux)
TCP_SYNCNT -> Integer
[permalink][rdoc]Number of SYN retransmits before a connection is dropped。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] tcp(7linux)
TCP_WINDOW_CLAMP -> Integer
[permalink][rdoc]Clamp the size of the advertised window。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] tcp(7linux)
UDP_CORK -> Integer
[permalink][rdoc]Don't send partial frames BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] udp(7linux)