種類
- 定数 (72)
- インスタンスメソッド (36)
- 特異メソッド (36)
ライブラリ
- socket (144)
キーワード
-
AI
_ ADDRCONFIG (12) -
AI
_ V4MAPPED (12) -
AI
_ V4MAPPED _ CFG (12) -
SO
_ ACCEPTCONN (12) -
SO
_ ACCEPTFILTER (12) -
TCP
_ DEFER _ ACCEPT (12) -
accept
_ loop (12) -
accept
_ nonblock (12) - sysaccept (12)
-
tcp
_ server _ loop (24)
検索結果
先頭5件
-
Socket
# accept -> Array (18230.0) -
新しい接続を受け付けて、新しい接続に対するソケットとアドレスの ペアを返します。accept(2) を参照。
...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... -
Socket
:: SO _ ACCEPTFILTER -> Integer (12317.0) -
set accept filter on listening socket。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...set accept filter on listening socket。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see getsockopt(2freebsd), Socket::Constants::SOL_SOCKET... -
Socket
:: TCP _ DEFER _ ACCEPT -> Integer (12202.0) -
Don't notify a listening socket until data is ready。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...Don't notify a listening socket until data is ready。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see tcp(7linux)... -
Socket
# accept _ nonblock -> Array (6230.0) -
ソケットをノンブロッキングモードに設定した後、 accept(2) を呼び出します。
...ソケットをノンブロッキングモードに設定した後、
accept(2) を呼び出します。
引数、返り値は Socket#accept と同じです。
accept(2) がエラーになった場合、
EAGAIN, EINTR を含め例外 Errno::EXXX が発生します。... -
Socket
# sysaccept -> Array (6217.0) -
接続したクライアントのファイル記述子とアドレスのペアを返すことを除 けば Socket#accept と同じです。
...接続したクライアントのファイル記述子とアドレスのペアを返すことを除
けば Socket#accept と同じです。... -
Socket
. accept _ loop(sockets) {|sock , client _ addrinfo| . . . } -> () (6208.0) -
sockets でサーバソケットを受け取り、接続を待ち受け、 クライアントとの接続が確立するたびにブロックにその接続 ソケットを渡し呼び出します。
...sockets でサーバソケットを受け取り、接続を待ち受け、
クライアントとの接続が確立するたびにブロックにその接続
ソケットを渡し呼び出します。
ブロックの引数はクライアントと接続したソケットオブジェクトと
Addrinfo......
Socket.tcp_server_loop と同様、ブロックは
逐次的に呼び出されます。つまりブロックか終了するまで
次の接続は accept されません。
並列に通信したい場合は
スレッドのような並列実行機構を使う必要があります。
@param sockets......待ち受けたいサーバソケットの配列
@see Socket.tcp_server_loop, Socket.unix_server_loop... -
Socket
:: SO _ ACCEPTCONN -> Integer (6201.0) -
Socket has had listen() called on it。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...Socket has had listen() called on it。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see sys/socket.h(header), getsockopt(2freebsd),
socket(7linux), Socket::Constants::SOL_SOCKET... -
Socket
:: AI _ ADDRCONFIG -> Integer (6117.0) -
Accept only if any address is assigned。
...Accept only if any address is assigned。
Socket.getaddrinfo, Addrinfo.getaddrinfo の引数 flags に渡す
定数です。
@see getaddrinfo(3)... -
Socket
. tcp _ server _ loop(host , port) {|sock , addr| . . . } -> () (6113.0) -
TCP/IP で host:port で待ち受けるサーバ側のソケットを作成し、 新しい接続を受け入れるごとにブロックを呼び出します。
...CP/IP で host:port で待ち受けるサーバ側のソケットを作成し、
新しい接続を受け入れるごとにブロックを呼び出します。
ブロックには新しい接続を表すソケットオブジェクトと、
クライアントアドレスを表す Addrinfo オブジ......す。getaddrinfo が 0 個のアドレスを返す場合はエラー
になります。1つ以上を返した場合にそれが用いられます。
# 逐次的な echo サーバ
# 一度に一つのクライアントした取り扱えない
require 'socket'
Socket.tcp_server_loop(16807)......に注意
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 で...