種類
- 定数 (336)
- 特異メソッド (168)
- インスタンスメソッド (48)
ライブラリ
- socket (552)
キーワード
-
AI
_ ADDRCONFIG (12) -
AI
_ ALL (12) -
AI
_ CANONNAME (12) -
AI
_ DEFAULT (12) -
AI
_ NUMERICHOST (12) -
AI
_ NUMERICSERV (12) -
AI
_ PASSIVE (12) -
AI
_ V4MAPPED (12) -
AI
_ V4MAPPED _ CFG (12) -
EAI
_ ADDRFAMILY (12) -
EAI
_ AGAIN (12) -
EAI
_ BADFLAGS (12) -
EAI
_ BADHINTS (12) -
EAI
_ FAIL (12) -
EAI
_ FAMILY (12) -
EAI
_ MEMORY (12) -
EAI
_ NODATA (12) -
EAI
_ NONAME (12) -
EAI
_ OVERFLOW (12) -
EAI
_ PROTOCOL (12) -
EAI
_ SERVICE (12) -
EAI
_ SOCKTYPE (12) -
EAI
_ SYSTEM (12) -
NI
_ DGRAM (12) -
NI
_ NAMEREQD (12) -
NI
_ NOFQDN (12) -
NI
_ NUMERICHOST (12) -
NI
_ NUMERICSERV (12) -
accept
_ loop (12) - bind (12)
- connect (12)
- getaddrinfo (12)
- getifaddrs (12)
- getnameinfo (12)
-
ip
_ address _ list (12) - recvfrom (12)
-
recvfrom
_ nonblock (12) -
tcp
_ server _ loop (24) -
tcp
_ server _ sockets (48) -
unix
_ server _ loop (12) -
unix
_ server _ socket (24)
検索結果
先頭5件
- Socket
. getaddrinfo(nodename , servname , family=nil , socktype=nil , protocol=nil , flags=nil) -> Array - Socket
. accept _ loop(sockets) {|sock , client _ addrinfo| . . . } -> () - Socket
. unix _ server _ loop(path) {|socket , client _ addrinfo| . . . } -> () - Socket
# recvfrom(maxlen , flags=0) -> [String , Addrinfo] - Socket
# recvfrom _ nonblock(maxlen , flags=0) -> [String , Addrinfo]
-
Socket
. getaddrinfo(nodename , servname , family=nil , socktype=nil , protocol=nil , flags=nil) -> Array (6119.0) -
2553で定義された getaddrinfo() の機能を提供するクラスメソッド。この関数は gethostbyname() や getservbyname() の代わりとして用意されており、 IP のバージョンに依存しないプログラムを書くための標準的な API です。
...2553で定義された
getaddrinfo() の機能を提供するクラスメソッド。この関数は
gethostbyname() や getservbyname() の代わりとして用意されており、
IP のバージョンに依存しないプログラムを書くための標準的な API です。
@param nodename......名を指定します。 必須引数です。 (lib:socket#host_formatを参照)
@param servname サービス名を指定します。 必須引数です。 (lib:socket#service_formatを参照)
@param family アドレスファミリー。Socket::Constants::AF_INET など、AF_ で始まる定数を......タイプ。 Socket::Constants::SOCK_STREAM など、 SOCK_ で始まる定数を指定します。
@param protocol プロトコル。Socket::Constants::IPPROTO_IP など、IPPROTO_ で始まる定数を指定します。
@param flags getaddrinfo(3) の第3引数に指定する addrinfo 構造体... -
Socket
. accept _ loop(sockets) {|sock , client _ addrinfo| . . . } -> () (108.0) -
sockets でサーバソケットを受け取り、接続を待ち受け、 クライアントとの接続が確立するたびにブロックにその接続 ソケットを渡し呼び出します。
...sockets でサーバソケットを受け取り、接続を待ち受け、
クライアントとの接続が確立するたびにブロックにその接続
ソケットを渡し呼び出します。
ブロックの引数はクライアントと接続したソケットオブジェクトと
Addrinfo......
Socket.tcp_server_loop と同様、ブロックは
逐次的に呼び出されます。つまりブロックか終了するまで
次の接続は accept されません。
並列に通信したい場合は
スレッドのような並列実行機構を使う必要があります。
@param sockets......待ち受けたいサーバソケットの配列
@see Socket.tcp_server_loop, Socket.unix_server_loop... -
Socket
. unix _ server _ loop(path) {|socket , client _ addrinfo| . . . } -> () (108.0) -
Unix サーバソケットを生成し、 新しい接続を受け入れるごとにブロックを呼び出します。
...を呼び出します。
ブロックには新しい接続を表すソケットオブジェクトと、
クライアントアドレスを表す Addrinfo オブジェクトが渡されます。
ブロックの実行が終わってもソケットは close されません。
アプリケーション......全です。
つまり、 /tmp/malicious-users-directory/socket という名前のパスは
使うべきではありません。
/tmp にスティッキービットが立っている場合、/tmp/socket や
/tmp/your-private-directory/socket というパス名は安全と考えて良いでしょう... -
Socket
# recvfrom(maxlen , flags=0) -> [String , Addrinfo] (102.0) -
ソケットからデータを受け取ります。
...ソケットからデータを受け取ります。
Socket#recv と同様ですが、返り値として
データ文字列と相手ソケットのアドレスのペアが返されます。
flags には Socket::MSG_* という定数の bitwise OR を渡します。
詳しくは recvfrom(2) を参......。詳しくは
Errno と man を見てください。
例:
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"]... -
Socket
# recvfrom _ nonblock(maxlen , flags=0) -> [String , Addrinfo] (102.0) -
ソケットをノンブロッキングモードに設定した後、 recvfrom(2) を呼び出します。
...ソケットをノンブロッキングモードに設定した後、
recvfrom(2) を呼び出します。
引数、返り値は Socket#recvfrom と同じです。
recvfrom(2) がエラーになった場合、
EAGAIN, EINTR を含め例外 Errno::EXXX が発生します。
Errno::EWOULDBLOCK、Er... -
Socket
. ip _ address _ list -> [Addrinfo] (102.0) -
ローカルの IP アドレスを配列で返します。
ローカルの IP アドレスを配列で返します。 -
Socket
. tcp _ server _ loop(host , port) {|sock , addr| . . . } -> () (31.0) -
TCP/IP で host:port で待ち受けるサーバ側のソケットを作成し、 新しい接続を受け入れるごとにブロックを呼び出します。
...を呼び出します。
ブロックには新しい接続を表すソケットオブジェクトと、
クライアントアドレスを表す Addrinfo オブジェクトが渡されます。
ブロックの実行が終わってもソケットは close されません。
アプリケーション......めに
Addrinfo.getaddrinfo が用いられることに注意してください。
Addrinfo.getaddrinfo は複数のアドレスを返す(IPv4 と IPv6 など)
場合があり、その場合その全てが用いられます。つまり IPv4 と IPv6 の
両方を待ち受けます。getaddrinfo が......す。
# 逐次的な echo サーバ
# 一度に一つのクライアントした取り扱えない
require 'socket'
Socket.tcp_server_loop(16807) {|sock, client_addrinfo|
begin
IO.copy_stream(sock, sock)
ensure
sock.close
end
}
# スレッドを使った ech... -
Socket
. tcp _ server _ loop(port) {|sock , addr| . . . } -> () (31.0) -
TCP/IP で host:port で待ち受けるサーバ側のソケットを作成し、 新しい接続を受け入れるごとにブロックを呼び出します。
...を呼び出します。
ブロックには新しい接続を表すソケットオブジェクトと、
クライアントアドレスを表す Addrinfo オブジェクトが渡されます。
ブロックの実行が終わってもソケットは close されません。
アプリケーション......めに
Addrinfo.getaddrinfo が用いられることに注意してください。
Addrinfo.getaddrinfo は複数のアドレスを返す(IPv4 と IPv6 など)
場合があり、その場合その全てが用いられます。つまり IPv4 と IPv6 の
両方を待ち受けます。getaddrinfo が......す。
# 逐次的な echo サーバ
# 一度に一つのクライアントした取り扱えない
require 'socket'
Socket.tcp_server_loop(16807) {|sock, client_addrinfo|
begin
IO.copy_stream(sock, sock)
ensure
sock.close
end
}
# スレッドを使った ech... -
Socket
. tcp _ server _ sockets(host , port) -> [Socket] (25.0) -
TCP/IP で host:port で待ち受けるサーバ側のソケットを 作成します。
...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 T......
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>]
}
@param host 割り当てるホスト名
@param port 割り当てるポート番号
@see Socket.tcp_server_loop...