class Socket
クラスの継承リスト: Socket < BasicSocket < IO < Enumerable < File::Constants < Object < Kernel
要約
ソケットそのものに対するシステムコールレベルのアクセスを提供 するクラス。
Perl のソケットに対するアクセスと同レベルの機能を 提供しています。このクラスではソケットアドレスは Array#pack された文字列で指定します (socket/ソケットアドレス構造体を pack した文字列 を参照)。
一般的なソケットプログラミングはより高レベルの TCPSocket クラスや TCPServer クラスを用い て行われることが多く、このクラスはあまり用いられません。
特異メソッド
getaddrinfo(nodename, servname, family=nil, socktype=nil, protocol=nil, flags=nil) -> Array
-
[RFC2553]で定義された getaddrinfo() の機能を提供するクラスメソッド。この関数は gethostbyname() や getservbyname() の代わりとして用意されており、 IP のバージョンに依存しないプログラムを書くための標準的な API です。
- [PARAM] nodename:
- ホスト名を指定します。 必須引数です。 (socket/ホスト指定形式 を参照)
- [PARAM] servname:
- サービス名を指定します。 必須引数です。 (socket/サービス指定形式 を参照)
- [PARAM] family:
- アドレスファミリー。Socket::Constants::AF_INET など、AF_ で始まる定数を指定します。
- [PARAM] socktype:
- ソケットタイプ。 Socket::Constants::SOCK_STREAM など、 SOCK_ で始まる定数を指定します。
- [PARAM] protocol:
- プロトコル。Socket::Constants::IPPROTO_IP など、IPPROTO_ で始まる定数を指定します。
- [PARAM] flags:
- getaddrinfo(3) の第3引数に指定する addrinfo 構造体の ai_flags メンバに相当する Fixnum。 Socket::AI_PASSIVEなど。
- [RETURN]
- 7つの要素からなるアドレス情報に関する配列を返します。
- [EXCEPTION] SocketError:
- getaddrinfo(3)がエラーを返したときに発生する例外です
アドレス情報について
アドレス情報とは7つの要素からなる次の形の配列です。
- 第0要素 - アドレスファミリー (String)
- 第1要素 - ポート番号 (Integer)
- 第2要素 - ホスト名 (String)
- 第3要素 - アドレス (String)
- 第4要素 - アドレスファミリーに対応する Integer
- 第5要素 - ソケットタイプに対応する Integer
- 第6要素 - プロトコルに対応する Integer
必須引数について
必須引数の意味は以下の通りです。
- nodename - ホスト名 (socket/ホスト指定形式 を参照)
- servname - サービス名 (socket/サービス指定形式 を参照)
省略可能な引数について
残りの引数は省略可能です。
- family - アドレスファミリー。 Socket::Constants::AF_INET など、AF_ で始まる定数を指定します。
- socktype - ソケットタイプ。 Socket::Constants::SOCK_STREAM など、SOCK_ で始まる定数を指定 します。
- protocol - プロトコル。 Socket::Constants::IPPROTO_IP など、IPPROTO_ で始まる定数を指 定します。
- flags - getaddrinfo(3) の第3引数に指定する addrinfo 構造体の ai_flags メンバに相当する Fixnum。 Socket::AI_PASSIVE、 Socket::AI_CANONNAME、 Socket::AI_NUMERICHOST が用意されている場合があります。
定数の意味について
引数に指定できる定数の意味については getaddrinfo(3) を参照して下さい。
使用例
例:
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
-
sockaddr 構造体をパックした文字列からホスト情報を返します。 ホスト情報の構造は Socket.gethostbyname と同じです。 type には、アドレスタイプ(デフォルトは Socket::AF_INET)を指定します。
- [PARAM] host:
- ホストを文字列で指定します。
- [PARAM] type:
- アドレスタイプ(デフォルトはSocket::AF_INET)を指定します。
- [EXCEPTION] SocketError:
- gethostbyaddr(3) の呼び出しにエラーがあった場合に発生します。
gethostbyname(host) -> Array
-
ホスト名または IP アドレス(指定方法に関しては socket/ホスト指定形式 を参照) からホストの情報を返します。
- [PARAM] host:
- 文字列でホストを指定します。
- [RETURN]
- ホスト情報を含んだ4要素の配列を返します。
返り値のホスト情報について
ホスト情報は以下の 4 要素の配列で表現されています。
- ホスト名
- ホストの別名の配列
- ホストのアドレスタイプ (整数定数)
- ホストのアドレス
第四要素のホストのアドレスは、各アドレスタイプに対応する C のアドレス構造体を pack した文字列として表現されています。 例えばアドレスタイプが AF_INET (定数 2) ならば Socket.unpack_sockaddr_in で unpack できます。
使用例
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
-
システムの標準のホスト名を取得します。
ホストの別名やアドレスなど他の情報を得るには Socket.getaddrinfo を使ってください。 ただし、これは不可能な場合もあります。
例:
p Socket.gethostname #=> "helium.ruby-lang.org"
getnameinfo(sa, flags = 0) -> Array
-
[RFC2553] で定義された getnameinfo() の機能を提供するク ラスメソッド。 gethostbyaddr() や getservbyport() の代 わりとして用意されています。IPのバージョンに依存しないプログラムを 書くための標準的なAPIです。
- [PARAM] sa:
- 文字列か配列を与えます。
- [PARAM] flags:
- 省略可能な第2引数 flags には getnameinfo(3) の第7番目の引数に指定する flags に相当する Fixnum を与えます。
- [RETURN]
- 配列を返し、その要素はアドレスとポートを表す文字列です。
- [EXCEPTION] SocketError:
- getnameinfo(3) がエラーを起こした場合に生じる例外
引数 sa について
引数 sa には文字列か配列を与えます。文字列の場合は sockaddr 構造体 のパック文字列を与えます。具体的には BasicSocket#getsockname の値が利用できます。配列を与える場合には、要素が3つの場合と4つの場合 があります。
- 要素が3つの場合: [アドレスファミリー, サービス, ホスト]
- 要素が4つの場合: [アドレスファミリー, サービス, 任意, アドレスを表す文字列]
アドレスファミリーには Socket::AF_INET 等の定数の他に文字列 で "AF_INET" もしくは "AF_INET6" もしくは nil が 指定できます。ただしIPv6が使えないようにコンパイルされている場合は "AF_INET6" は無効な指定となります。アドレスファミリーに nil を指定することは Socket::AF_UNSPEC を指定すること と等価です。
サービス、ホストの指定に関しては socket/サービス指定形式 、 socket/ホスト指定形式 を参照してください。
要素が3つの場合でも、ホストにはアドレスを指定できますが、要素が4つ の場合には、最後の要素を名前解決しないことが保証されます。
引数flagsについて
省略可能な第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)を参照 して下さい。
使用例
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") -> Fixnum
-
service, protoに対応するポート番号を返 します。protoの省略値は"tcp"です。
- [PARAM] service:
- サービス名を文字列で指定します。例えば、"ftp", "telnet" が相当します。
- [PARAM] proto:
- プロトコル名を文字列で指定します。省略値は"tcp" です。
- [RETURN]
- ポート番号を整数で返します。
open(domain, type, protocol) -> Socket
new(domain, type, protocol) -> Socket
-
新しいソケットを生成します。domain、type、 protocol はインクルードファイルにある定数で指定しま す。ほとんどの定数は Socket::AF_INET のように Socket クラスの定数として定義されています。domain とtype に関しては、"AF_INET", "SOCK_STREAM" のように文字列でも指定できますが、文 字列ですべての機能を指定できる保証はありません。
例えば、IPv4 の TCP ソケットは以下のように生成されます。
s = Socket.new(Socket::AF_INET, Socket::SOCK_STREAM, 0)
なお、socket(2) の domain 引数において AF_ と PF_ のどちらの定数を使用するかについては混乱がありますが、 Stevens の「UNIX ネットワークプログラミング第2版 Vol.1」4.2節に述べられているように、 現実的にはどちらでも問題なく、また、既存のコーディング習慣として AF_ が用いられることが多いため、 ここでは AF_ を使用しています。
- [PARAM] domain:
- 例えば、<sys/socket.h> のようなインクルードファイルに定義されている定数を指定します。
- [PARAM] type:
- 例えば、<sys/socket.h> のようなインクルードファイルに定義されている定数を指定します。
- [PARAM] protocol:
- プロトコルに使用する数値を指定します。
sockaddr_in(port, host) -> String
pack_sockaddr_in(port, host) -> String
-
指定したアドレスをsocket/ソケットアドレス構造体を pack した文字列 で返します。port は、ポート番号を表す Fixnum あるいは、ポート 番号、サービス名を表す文字列です。
- [PARAM] port:
- ポート番号を表す Fixnum あるいは、ポート番号、サービス名を表す文字列を指定します。
- [PARAM] host:
- ホストを文字列で指定します。
- [RETURN]
- 指定したアドレスを返します。
例:
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
pack_sockaddr_un(path) -> String
-
指定したアドレスをsocket/ソケットアドレス構造体を pack した文字列 で返します。
- [PARAM] path:
- パスを文字列で指定します。
例:
require 'socket' p Socket.sockaddr_un("/tmp/.X11-unix/X0") => "\001\000/tmp/.X11-unix/X0\000...."
pair(domain, type, protocol) -> Array
socketpair(domain, type, protocol) -> Array
-
相互に結合されたソケットのペアを含む2要素の配列を返します。 引数の指定は Socket.open と同じです。
- [PARAM] domain:
- Socket.open を参照してください。
- [PARAM] type:
- Socket.open を参照してください。
- [PARAM] protocol:
- Socket.open を参照してください。
[SEE_ALSO] Socket.open
unpack_sockaddr_in(sockaddr) -> Array
-
socket/ソケットアドレス構造体を pack した文字列 を unpack したアドレスを返します。返される値は [port, ipaddr] の配列です。
- [PARAM] sockaddr:
- ソケットアドレス構造体を pack した文字列socket/ソケットアドレス構造体を pack した文字列 を指定します。
例:
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
-
socket/ソケットアドレス構造体を pack した文字列 を unpack したソケットパス名を返します。
- [PARAM] sockaddr:
- ソケットアドレス構造体を pack した文字列socket/ソケットアドレス構造体を pack した文字列 を指定します。
例:
require 'socket' p Socket.unpack_sockaddr_un(Socket.sockaddr_un("/tmp/.X11-unix/X0")) => "/tmp/.X11-unix/X0"
インスタンスメソッド
accept -> Array
-
新しい接続を受け付けて、新しい接続に対するソケットとアドレスの ペアを返します。accept(2) を参照。
たとえば IPv4 の TCP サーバソケットを生成し、accept でクライアントからの接続を受け付けるには以下のようにします。
例:
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
-
ソケットをノンブロッキングモードに設定した後、 accept(2) を呼び出します。
引数、返り値は Socket#accept と同じです。
accept(2) がエラーになった場合、 EAGAIN, EINTR を含め例外 Errno::EXXX が発生します。
bind(my_sockaddr) -> 0
-
ソケットを my_sockaddr に結合します。bind(2) と同じ働きをします。
- [PARAM] my_sockaddr:
- ソケットアドレス構造体を pack した文字列socket/ソケットアドレス構造体を pack した文字列 を指定します。
- [RETURN]
- 0 を返します。
connect(server_sockaddr) -> 0
-
connect(2) でソケットを接続します。
server_sockaddr は、 socket/ソケットアドレス構造体を pack した文字列 です。
0 を返します。
- [PARAM] server_sockaddr:
- 接続先アドレス
- [EXCEPTION] Errno::EXXX:
- connect(2) がエラーを報告した場合に発生します。詳しくは man を参照してください。
たとえば IPv4 の TCP ソケットを生成し、connect で www.ruby-lang.org:80 に接続するには以下のようにします。
例:
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
-
ソケットをノンブロッキングモードに設定した後、 connect(2) を呼び出します。
引数、返り値は Socket#connect と同じです。
- [PARAM] server_sockaddr:
- 接続先アドレス
- [EXCEPTION] Errno::EXXX:
- connect(2) がエラーを報告した場合に発生します。詳しくは man を参照してください。
listen(backlog) -> 0
-
listen(2) と同じ働きをします。
0 を返します。
- [PARAM] backlog:
- 接続を保留できる最大数
- [RETURN]
- 0 を返します。
recvfrom(maxlen, flags=0) -> [String, String]
-
ソケットからデータを受け取ります。
Socket#recv と同様ですが、返り値として データ文字列と相手ソケットのアドレスのペアが返されます。
flags には Socket::MSG_* という定数の bitwise OR を渡します。 詳しくは recvfrom(2) を参照してください。
- [PARAM] maxlen:
- ソケットから受けとるデータの最大値
- [PARAM] flags:
- フラグ
- [EXCEPTION] Errno::EXXX:
- recvfrom(2) がエラーを報告した場合に発生します。詳しくは Errno と man を見てください。
例:
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, String]
-
ソケットをノンブロッキングモードに設定した後、 recvfrom(2) を呼び出します。
引数、返り値は Socket#recvfrom と同じです。
recvfrom(2) がエラーになった場合、 EAGAIN, EINTR を含め例外 Errno::EXXX が発生します。
- [PARAM] maxlen:
- ソケットから受けとるデータの最大値
- [PARAM] flags:
- フラグ
- [EXCEPTION] Errno::EXXX:
- recvfrom(2) がエラーを報告した場合に発生します。詳しくは man を参照してください
sysaccept -> Array
-
接続したクライアントのファイル記述子とアドレスのペアを返すことを除 けば Socket#accept と同じです。
定数
AF_APPLETALK -> Integer
PF_APPLETALK -> Integer
-
Apple talk。 Socket.open の第一引数 domain に使用します。
[SEE_ALSO] socket(2linux), socket(2freebsd), ddp(7linux)
AF_ATM -> Integer
PF_ATM -> Integer
-
ATM。 Socket.open の第一引数 domain に使用します。
[SEE_ALSO] socket(2freebsd)
AF_AX25 -> Integer
PF_AX25 -> Integer
-
ITU-T X.25 / ISO-8208。 Socket.open の第一引数 domain に使用します。
[SEE_ALSO] socket(2linux)
AF_CCITT -> Integer
PF_CCITT -> Integer
-
[TODO]
CCITT プロトコル。 Socket.open の第一引数 domain に使用します。
AF_CHAOS -> Integer
PF_CHAOS -> Integer
-
[TODO]
MIT CHAOS プロトコル。 Socket.open の第一引数 domain に使用します。
AF_CNT -> Integer
PF_CNT -> Integer
-
[TODO]
Computer Network Technology。 Socket.open の第一引数 domain に使用します。
AF_COIP -> Integer
PF_COIP -> Integer
-
[TODO]
connection-oriented IP。 Socket.open の第一引数 domain に使用します。
AF_DATAKIT -> Integer
PF_DATAKIT -> Integer
-
[TODO]
datakit protocol。 Socket.open の第一引数 domain に使用します。
AF_DEC -> Integer
PF_DEC -> Integer
-
[TODO]
DECnet protocol。 Socket.open の第一引数 domain に使用します。
AF_DLI -> Integer
PF_DLI -> Integer
-
[TODO]
DEC Direct data link interface。 Socket.open の第一引数 domain に使用します。
AF_E164 -> Integer
-
[TODO]
CCITT E.164 recommendation。 Socket.open の第一引数 domain に使用します。
AF_ECMA -> Integer
PF_ECMA -> Integer
-
[TODO]
European computer manufacturers。 Socket.open の第一引数 domain に使用します。
AF_HYLINK -> Integer
PF_HYLINK -> Integer
-
[TODO]
NSC Hyperchannel。 Socket.open の第一引数 domain に使用します。
AF_IMPLINK -> Integer
PF_IMPLINK -> Integer
-
[TODO]
ARPANET IMP。 Socket.open の第一引数 domain に使用します。
AF_INET -> Integer
PF_INET -> Integer
-
IPv4。 Socket.open の第一引数 domain に使用します。
[SEE_ALSO] sys/socket.h(header), socket(2freebsd), ip(7linux)
AF_INET6 -> Integer
PF_INET6 -> Integer
-
IPv6。 Socket.open の第一引数 domain に使用します。
[SEE_ALSO] sys/socket.h(header), socket(2freebsd), ipv6(7linux)
AF_IPX -> Integer
PF_IPX -> Integer
-
IPX(Novell Internet Packet eXchange protocol)。 Socket.open の第一引数 domain に使用します。
[SEE_ALSO] socket(3linux)
AF_ISDN -> Integer
PF_ISDN -> Integer
-
[TODO]
Integrated Services Digital Network。 Socket.open の第一引数 domain に使用します。
AF_ISO -> Integer
AF_OSI -> Integer
PF_ISO -> Integer
PF_OSI -> Integer
-
[TODO]
ISO Open Systems Interconnection protocols。 Socket.open の第一引数 domain に使用します。
AF_LAT -> Integer
PF_LAT -> Integer
-
[TODO]
Local Area Transport protocol。 Socket.open の第一引数 domain に使用します。
AF_LINK -> Integer
PF_LINK -> Integer
-
[TODO]
Link layer interface。 Socket.open の第一引数 domain に使用します。
AF_LOCAL -> Integer
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
-
対象のプラットフォーム上でのアドレスファミリーの最大の数値。
[SEE_ALSO] Socket::Constants::PF_MAX
AF_NATM -> Integer
PF_NATM -> Integer
-
[TODO]
Native ATM access。 Socket.open の第一引数 domain に使用します。
AF_NDRV -> Integer
PF_NDRV -> Integer
-
[TODO]
Network driver raw access。 Socket.open の第一引数 domain に使用します。
AF_NETBIOS -> Integer
PF_NETBIOS -> Integer
-
[TODO]
NetBIOS。 Socket.open の第一引数 domain に使用します。
AF_NETGRAPH -> Integer
PF_NETGRAPH -> Integer
-
Netgraph sockets。 Socket.open の第一引数 domain に使用します。
[SEE_ALSO] socket(2freebsd)
AF_NS -> Integer
PF_NS -> Integer
-
[TODO]
XEROX NS protocol。 Socket.open の第一引数 domain に使用します。
AF_PPP -> Integer
PF_PPP -> Integer
-
[TODO]
Point-to-Point Protocol。 Socket.open の第一引数 domain に使用します。
AF_PUP -> Integer
PF_PUP -> Integer
-
PUP(PARC Universal Packet)。 Socket.open の第一引数 domain に使用します。
[SEE_ALSO] socket(2freebsd)
AF_ROUTE -> Integer
PF_ROUTE -> Integer
-
[TODO]
Internal Routing protocol。 Socket.open の第一引数 domain に使用します。
[TODO]
AF_SIP -> Integer
PF_SIP -> Integer
-
[TODO]
Simple Internet Protocol。 Socket.open の第一引数 domain に使用します。
AF_SNA -> Integer
PF_SNA -> Integer
-
[TODO]
IBM SNA protocol。 Socket.open の第一引数 domain に使用します。
AF_SYSTEM -> Integer
PF_SYSTEM -> Integer
-
[TODO]
Socket.open の第一引数 domain に使用します。
AF_UNSPEC -> Integer
-
アドレスファミリー不定。
[SEE_ALSO] Socket.open, sys/socket.h(header)
AI_ADDRCONFIG -> Integer
-
Accept only if any address is assigned。
Socket.getaddrinfo, Addrinfo.getaddrinfo の引数 flags に渡す 定数です。
[SEE_ALSO] getaddrinfo(3)
AI_ALL -> Integer
-
Allow all addresses。
Socket.getaddrinfo, Addrinfo.getaddrinfo の引数 flags に渡す 定数です。
[SEE_ALSO] getaddrinfo(3)
AI_CANONNAME -> Integer
-
Fill in the canonical name。
Socket.getaddrinfo, Addrinfo.getaddrinfo の引数 flags に渡す 定数です。
[SEE_ALSO] getaddrinfo(3)
AI_DEFAULT -> Integer
-
Default flags for getaddrinfo。
Socket.getaddrinfo, Addrinfo.getaddrinfo の引数 flags に渡す 定数です。
[SEE_ALSO] getipnodebyname(3freebsd)
AI_MASK -> Integer
-
[TODO]
AI_NUMERICHOST -> Integer
-
Prevent host name resolution。
Socket.getaddrinfo, Addrinfo.getaddrinfo の引数 flags に渡す 定数です。
[SEE_ALSO] getaddrinfo(3)
AI_PASSIVE -> Integer
-
Get address to use with bind。
Socket.getaddrinfo, Addrinfo.getaddrinfo の引数 flags に渡す 定数です。
[SEE_ALSO] getaddrinfo(3)
AI_V4MAPPED -> Integer
-
Accept IPv4-mapped IPv6 addresses。
Socket.getaddrinfo, Addrinfo.getaddrinfo の引数 flags に渡す 定数です。
[SEE_ALSO] getaddrinfo(3)
AI_V4MAPPED_CFG -> Integer
-
Accept IPv4 mapped addresses if the kernel supports it。
Socket.getaddrinfo, Addrinfo.getaddrinfo の引数 flags に渡す 定数です。
[SEE_ALSO] getipnodebyname(3freebsd)
EAI_ADDRFAMILY -> Integer
-
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
-
Temporary failure in name resolution
getaddrinfo(3), getnameinfo(3) などの エラーコードです。 対応する Socket.getaddrinfo, Addrinfo.getaddrinfo などは エラーを SocketError に変換するため、この定数は直接は利用しません。
[SEE_ALSO] getaddrinfo(3linux), gai_strerror(3freebsd)
EAI_BADFLAGS -> Integer
-
Invalid flags
getaddrinfo(3), getnameinfo(3) などの エラーコードです。 対応する Socket.getaddrinfo, Addrinfo.getaddrinfo などは エラーを SocketError に変換するため、この定数は直接は利用しません。
[SEE_ALSO] getaddrinfo(3linux), gai_strerror(3freebsd)
EAI_BADHINTS -> Integer
-
Invalid value for hints
getaddrinfo(3), getnameinfo(3) などの エラーコードです。 対応する Socket.getaddrinfo, Addrinfo.getaddrinfo などは エラーを SocketError に変換するため、この定数は直接は利用しません。
EAI_FAIL -> Integer
-
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
-
Address family not supported
getaddrinfo(3), getnameinfo(3) などの エラーコードです。 対応する Socket.getaddrinfo, Addrinfo.getaddrinfo などは エラーを SocketError に変換するため、この定数は直接は利用しません。
[SEE_ALSO] getaddrinfo(3linux), gai_strerror(3freebsd)
EAI_MAX -> Integer
-
EAI_* 定数の最大値。
EAI_MEMORY -> Integer
-
Memory allocation failure
getaddrinfo(3), getnameinfo(3) などの エラーコードです。 対応する Socket.getaddrinfo, Addrinfo.getaddrinfo などは エラーを SocketError に変換するため、この定数は直接は利用しません。
[SEE_ALSO] getaddrinfo(3linux), gai_strerror(3freebsd)
EAI_NODATA -> Integer
-
No address associated with hostname
getaddrinfo(3), getnameinfo(3) などの エラーコードです。 対応する Socket.getaddrinfo, Addrinfo.getaddrinfo などは エラーを SocketError に変換するため、この定数は直接は利用しません。
[SEE_ALSO] getaddrinfo(3linux)
EAI_NONAME -> Integer
-
Hostname nor servname, or not known
getaddrinfo(3), getnameinfo(3) などの エラーコードです。 対応する Socket.getaddrinfo, Addrinfo.getaddrinfo などは エラーを SocketError に変換するため、この定数は直接は利用しません。
[SEE_ALSO] getaddrinfo(3linux), gai_strerror(3freebsd)
EAI_PROTOCOL -> Integer
-
Resolved protocol is unknown
getaddrinfo(3), getnameinfo(3) などの エラーコードです。 対応する Socket.getaddrinfo, Addrinfo.getaddrinfo などは エラーを SocketError に変換するため、この定数は直接は利用しません。
[SEE_ALSO] getaddrinfo(3linux), gai_strerror(3freebsd)
EAI_SERVICE -> Integer
-
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
-
Socket type not supported
getaddrinfo(3), getnameinfo(3) などの エラーコードです。 対応する Socket.getaddrinfo, Addrinfo.getaddrinfo などは エラーを SocketError に変換するため、この定数は直接は利用しません。
[SEE_ALSO] getaddrinfo(3linux), gai_strerror(3freebsd)
EAI_SYSTEM -> Integer
-
System error returned in errno
getaddrinfo(3), getnameinfo(3) などの エラーコードです。 対応する Socket.getaddrinfo, Addrinfo.getaddrinfo などは エラーを適当な例外に変換するため、この定数は直接は利用しません。
[SEE_ALSO] getaddrinfo(3linux), gai_strerror(3freebsd)
INADDR_ALLHOSTS_GROUP -> Integer
-
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
-
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
-
The network broadcast address。 IPv4のブロードキャストアドレス 255.255.255.255 に対応する整数です。
[SEE_ALSO] netinet/in.h(header), ip(7linux), ip(4freebsd)
INADDR_LOOPBACK -> Integer
-
The loopback address。 IPv4のループバックアドレス 127.0.0.1 に対応する整数です。
[SEE_ALSO] ip(7linux), ip(4freebsd)
INADDR_MAX_LOCAL_GROUP -> Integer
-
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
-
A bitmask for matching no valid IP address。 エラーを表すアドレス値です。
INADDR_UNSPEC_GROUP -> Integer
-
The reserved multicast group。 IPv4の 244.0.0.0 に対応する整数です。
[SEE_ALSO] http://www.iana.org/assignments/multicast-addresses/multicast-addresses.xml, [RFC5771]
IPPORT_RESERVED -> Integer
-
利用法が予約されているポート番号の最大値。
IPPORT_USERRESERVED -> Integer
-
ユーザが自由に利用して良いポート番号の最小値。
IPPROTO_BIP -> Integer
-
[TODO]
BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
IPPROTO_EGP -> Integer
-
[TODO]
Exterior Gateway Protocol。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
IPPROTO_EON -> Integer
-
[TODO]
ISO cnlp。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
IPPROTO_GGP -> Integer
-
[TODO]
Gateway to Gateway Protocol。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
IPPROTO_HELLO -> Integer
-
[TODO]
"hello" routing protocol。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
IPPROTO_ICMP -> Integer
-
Control message protocol。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
[SEE_ALSO] netinet/in.h(header) icmp(4freebsd), icmp(7linux)
IPPROTO_IDP -> Integer
-
[TODO]
XNS IDP。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
IPPROTO_IGMP -> Integer
-
[TODO]
Group Management Protocol。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
IPPROTO_IP -> Integer
-
Internet protocol。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
[SEE_ALSO] netinet/in.h(header) ip(4freebsd), ip(7linux)
IPPROTO_MAX -> Integer
-
IPPROTO 定数の最大値。
IPPROTO_ND -> Integer
-
[TODO]
Sun net disk protocol BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
IPPROTO_PUP -> Integer
-
[TODO]
PARC Universal Packet protocol。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
IPPROTO_RAW -> Integer
-
Raw IP packets protocol。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
[SEE_ALSO] netinet/in.h(header) ip(4freebsd), raw(7linux)
IPPROTO_TCP -> Integer
-
Transmission control protocol。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
[SEE_ALSO] netinet/in.h(header) tcp(4freebsd), tcp(7linux)
IPPROTO_TP -> Integer
-
[TODO]
ISO transport protocol class 4。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
IPPROTO_UDP -> Integer
-
User Datagram Protocol。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
[SEE_ALSO] netinet/in.h(header) udp(4freebsd), udp(7linux)
IPPROTO_XTP -> Integer
-
[TODO]
Xpress Transport Protocol。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
IP_ADD_MEMBERSHIP -> Integer
-
Add a multicast group membership
BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, ip(4freebsd), ip(7linux)
IP_DEFAULT_MULTICAST_LOOP -> Integer
-
[TODO]
Default multicast loopback
IP_DEFAULT_MULTICAST_TTL -> Integer
-
[TODO]
Default multicast TTL
IP_DROP_MEMBERSHIP -> Integer
-
Drop a multicast group membership。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, ip(4freebsd), ip(7linux)
IP_HDRINCL -> Integer
-
Header is included with data。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, ip(4freebsd)
IP_MAX_MEMBERSHIPS -> Integer
-
Maximum number multicast groups a socket can join。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, ip(4freebsd)
IP_MULTICAST_IF -> Integer
-
IP multicast interface。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, ip(4freebsd), ip(7linux)
IP_MULTICAST_LOOP -> Integer
-
IP multicast loopback。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, ip(4freebsd), ip(7linux)
IP_MULTICAST_TTL -> Integer
-
IP multicast TTL。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, ip(4freebsd), ip(7linux)
IP_OPTIONS -> Integer
-
IP options to be included in packets。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, ip(4freebsd), ip(7linux)
IP_RECVDSTADDR -> Integer
-
Receive IP destination address with datagram。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, ip(4freebsd)
IP_RECVOPTS -> Integer
-
Receive IP destination address with datagram。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, ip(7linux)
IP_RECVRETOPTS -> Integer
-
[TODO]
Receive all IP options for response
IP_RETOPTS -> Integer
-
IP options to be included in datagrams。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, ip(7linux)
IP_TOS -> Integer
-
IP type-of-service。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, ip(4freebsd), ip(7linux)
IP_TTL -> Integer
-
IP time-to-live。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_IP, ip(4freebsd), ip(7linux)
MSG_COMPAT -> Integer
-
[TODO]
End of record
MSG_CTRUNC -> Integer
-
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
-
Send without using the routing tables。
BasicSocket#send, BasicSocket#sendmsg の flags 引数に用います。
[SEE_ALSO] sys/socket.h(header), send(2linux) send(2freebsd)
MSG_DONTWAIT -> Integer
-
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
-
Data completes connection。
BasicSocket#send, BasicSocket#sendmsg, BasicSocket#recv, BasicSocket#recvmsg の flags 引数に用います。
[SEE_ALSO] send(2freebsd)
MSG_EOR -> Integer
-
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_FLUSH -> Integer
-
[TODO]
Start of a hold sequence. Dumps to so_temp
MSG_HAVEMORE -> Integer
-
[TODO]
Data ready to be read
MSG_HOLD -> Integer
-
[TODO]
Hold fragment in so_temp
MSG_OOB -> Integer
-
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
-
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_RCVMORE -> Integer
-
[TODO]
Data remains in the current packet
MSG_SEND -> Integer
-
[TODO]
Send the packet in so_temp
MSG_TRUNC -> Integer
-
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
-
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
-
The service specified is a datagram service (looks up UDP ports)。
Socket.getnameinfo, Addrinfo#getnameinfo の引数 flags に渡す 定数です。
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
-
getnameinfo(3) で用いるホスト名文字列の最大長さ。
[SEE_ALSO] getnameinfo(3linux)
NI_MAXSERV -> Integer
-
getnameinfo(3) で用いるサービス名文字列の最大長さ。
[SEE_ALSO] getnameinfo(3linux)
NI_NAMEREQD -> Integer
-
A name is required。名前解決できなかった場合にエラーを返すことを意味します。
Socket.getnameinfo, Addrinfo#getnameinfo の引数 flags に渡す 定数です。
# ここでは 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
-
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
-
Return a numeric address.
Socket.getnameinfo, Addrinfo#getnameinfo の引数 flags に渡す 定数です。
[SEE_ALSO] getnameinfo(3)
NI_NUMERICSERV -> Integer
-
Return the service name as a digit string
Socket.getnameinfo, Addrinfo#getnameinfo の引数 flags に渡す 定数です。
[SEE_ALSO] getnameinfo(3)
PF_KEY -> Integer
-
Internal key-management function。 Socket.open の第一引数 domain に使用します。
[SEE_ALSO] socket(2freebsd)
PF_MAX -> Integer
-
プロトコルファミリーの最大数。
[SEE_ALSO] Socket::Constants::AF_MAX
PF_PIP -> Integer
-
Help Identify PIP packets。 Socket.open の第一引数 domain に使用します。
[SEE_ALSO] socket(2freebsd)
PF_RTIP -> Integer
-
Help Identify RTIP packets。 Socket.open の第一引数 domain に使用します。
[SEE_ALSO] socket(2freebsd)
PF_UNSPEC -> Integer
-
プロトコルファミリー不定。
[SEE_ALSO] Socket::Constants::AF_UNSPEC, Socket.open
PF_XTP -> Integer
-
[TODO]
eXpress Transfer Protocol。
SHUT_RD -> Integer
-
BasicSocket#shutdown の how 引数に使用します。
SHUT_RDWR -> Integer
-
BasicSocket#shutdown の how 引数に使用します。
SHUT_WR -> Integer
-
BasicSocket#shutdown の how 引数に使用します。
SOCK_DGRAM -> Integer
-
データグラム通信。 Socket.open の第二引数 type に使用します。
[SEE_ALSO] socket(2), Socket.open
SOCK_PACKET -> Integer
-
デバイスレベルインターフェース。Obsoleteであり使うべきではない。 Socket.open の第二引数 type に使用します。
[SEE_ALSO] packet(7linux), Socket.open
SOCK_RAW -> Integer
-
RAW ソケット。 Socket.open の第二引数 type に使用します。
[SEE_ALSO] sys/socket.h(header), socket(2linux), raw(7linux), Socket.open
SOCK_RDM -> Integer
-
信頼性のあるデータグラム通信。 Socket.open の第二引数 type に使用します。
[SEE_ALSO] socket(2linux), Socket.open
SOCK_SEQPACKET -> Integer
-
固定最大長を持つストリーム通信。 Socket.open の第二引数 type に使用します。
[SEE_ALSO] Socket.open, socket(2), socket(2linux), socket(2freebsd)
SOCK_STREAM -> Integer
-
ストリーム通信。 Socket.open の第二引数 type に使用します。
[SEE_ALSO] Socket.open, socket(2), socket(2linux), socket(2freebsd)
SOL_ATALK -> Integer
-
[TODO]
AppleTalk socket options。 BasicSocket#getsockopt, BasicSocket#setsockopt の第一引数(level)に使用します。
SOL_AX25 -> Integer
-
[TODO]
AX.25 socket options。 BasicSocket#getsockopt, BasicSocket#setsockopt の第一引数(level)に使用します。
SOL_IP -> Integer
-
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
-
[TODO]
IPX socket options。 BasicSocket#getsockopt, BasicSocket#setsockopt の第一引数(level)に使用します。
SOL_SOCKET -> Integer
-
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
-
TCP socket options。 BasicSocket#getsockopt, BasicSocket#setsockopt の第一引数(level)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_TCP
SOL_UDP -> Integer
-
UDP socket options。 BasicSocket#getsockopt, BasicSocket#setsockopt の第一引数(level)に使用します。
[SEE_ALSO] Socket::Constants::IPPROTO_UDP
SOPRI_BACKGROUND -> Integer
-
[TODO]
Background socket priority
SOPRI_INTERACTIVE -> Integer
-
[TODO]
Interactive socket priority
SOPRI_NORMAL -> Integer
-
Normal socket priority
[TODO]
SO_ACCEPTCONN -> Integer
-
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
-
set accept filter on listening socket。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] getsockopt(2freebsd), Socket::Constants::SOL_SOCKET
SO_ATTACH_FILTER -> Integer
-
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
-
Bind this socket to a particular device。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] socket(7linux), Socket::Constants::SOL_SOCKET
SO_BROADCAST -> Integer
-
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
-
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
-
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
-
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
-
[TODO]
Retain unread data
SO_ERROR -> Integer
-
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
-
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
-
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_NKE -> Integer
-
[TODO]
socket-level Network Kernel Extension。
SO_NOSIGPIPE -> Integer
-
Don't SIGPIPE on EPIPE。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] getsockopt(2freebsd), Socket::Constants::SOL_SOCKET
SO_NO_CHECK -> Integer
-
[TODO]
Disable checksums。
SO_NREAD -> Integer
-
[TODO]
Get first packet byte count。
SO_OOBINLINE -> Integer
-
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
-
Receive SCM_CREDENTIALS messages。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] socket(7linux), unix(7linux), Socket::Constants::SOL_SOCKET
SO_PEERCRED -> Integer
-
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
-
[TODO]
Name of the connecting user。
SO_PRIORITY -> Integer
-
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
-
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
-
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
-
Receive timeout。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] sys/socket.h(header), getsockopt(2freebsd), socket(7linux)
SO_REUSEADDR -> Integer
-
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
-
Allow local address and port reuse。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] getsockopt(2freebsd), Socket::Constants::SOL_SOCKET
SO_SECURITY_AUTHENTICATION -> Integer
-
[TODO]
SO_SECURITY_ENCRYPTION_NETWORK -> Integer
-
[TODO]
SO_SECURITY_ENCRYPTION_TRANSPORT -> Integer
-
[TODO]
SO_SNDBUF -> Integer
-
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
-
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
-
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
-
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_TYPE -> Integer
-
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
-
[TODO]
Bypass hardware when possible。
SO_WANTMORE -> Integer
-
[TODO]
Give a hint when more data is ready。
SO_WANTOOBFLAG -> Integer
-
[TODO]
OOB data is wanted in MSG_FLAG on receive。
TCP_MAXSEG -> Integer
-
Set maximum segment size。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] tcp(4freebsd), tcp(7linux)
TCP_NODELAY -> Integer
-
Don't delay sending to coalesce packets。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
[SEE_ALSO] tcp(4freebsd), tcp(7linux), netinet/tcp.h(header)