種類
- インスタンスメソッド (156)
- 文書 (58)
- 特異メソッド (36)
- クラス (24)
- モジュール関数 (12)
ライブラリ
- openssl (48)
- socket (144)
-
webrick
/ server (24) -
webrick
/ utils (12)
クラス
- BasicSocket (48)
- IPSocket (12)
-
OpenSSL
:: SSL :: SSLServer (36) - TCPServer (72)
-
WEBrick
:: GenericServer (24)
モジュール
-
WEBrick
:: Utils (12)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (12) -
NEWS for Ruby 2
. 3 . 0 (10) - SSLServer (12)
- accept (12)
-
accept
_ nonblock (12) - addr (12)
-
create
_ listeners (12) - getpeername (12)
- getsockname (12)
- listen (36)
- listeners (12)
-
local
_ address (12) - new (24)
- open (12)
-
remote
_ address (12) -
ruby 1
. 8 . 4 feature (12) -
ruby 1
. 8 . 5 feature (12) -
ruby 1
. 9 feature (12) - sysaccept (12)
-
to
_ io (12)
検索結果
先頭5件
-
TCPServer (44012.0)
-
TCP/IP ストリーム型接続のサーバ側のソケットのクラスです。
...す。
require "socket"
gs = TCPServer.open(0)
socks = [gs]
addr = gs.addr
addr.shift
printf("server is on %s\n", addr.join(":"))
while true
nsock = select(socks)
next if nsock == nil
for s in nsock[0]
if s == gs
socks.push(s.accept)
print(s, "......print(s, " is gone\n")
s.close
socks.delete(s)
else
str = s.gets
s.write(str)
end
end
end
end
Thread を使えばもっと短くなります。
require "socket"
gs = TCPServer.open(0)
addr = gs.addr
addr.shift
print......f("server is on %s\n", addr.join(":"))
while true
Thread.start(gs.accept) do |s| # save to dynamic variable
print(s, " is accepted\n")
while s.gets
s.write($_)
end
print(s, " is gone\n")
s.close
end
end... -
TCPServer
. new(host=nil , service) -> TCPServer (24302.0) -
新しいサーバー接続をオープンします。service は /etc/services (または NIS) に登録されているサービ ス名かポート番号で指定します。host を指定した時は 指定したホストに対しての接続だけを受け付けます。
...新しいサーバー接続をオープンします。service は
/etc/services (または NIS) に登録されているサービ
ス名かポート番号で指定します。host を指定した時は
指定したホストに対しての接続だけを受け付けます。
省略時は全ての......ホストへの接続要求を受け付けることになります。
new, open は内部では getaddrinfo(3) を呼び出しており、
複数のアドレス構造体が検出された場合、
最初に見つかったものを返します。
実行環境によっては IPv4, IPv6 のどちらか......ost に指定できる形式はlib:socket#host_formatを見てください。
@param host 接続したいホストを指定します。
host に指定できる形式はlib:socket#host_formatを見てください。
@param service /etc/services (または NIS) に登録されている... -
TCPServer
. open(host=nil , service) -> TCPServer (24302.0) -
新しいサーバー接続をオープンします。service は /etc/services (または NIS) に登録されているサービ ス名かポート番号で指定します。host を指定した時は 指定したホストに対しての接続だけを受け付けます。
...新しいサーバー接続をオープンします。service は
/etc/services (または NIS) に登録されているサービ
ス名かポート番号で指定します。host を指定した時は
指定したホストに対しての接続だけを受け付けます。
省略時は全ての......ホストへの接続要求を受け付けることになります。
new, open は内部では getaddrinfo(3) を呼び出しており、
複数のアドレス構造体が検出された場合、
最初に見つかったものを返します。
実行環境によっては IPv4, IPv6 のどちらか......ost に指定できる形式はlib:socket#host_formatを見てください。
@param host 接続したいホストを指定します。
host に指定できる形式はlib:socket#host_formatを見てください。
@param service /etc/services (または NIS) に登録されている... -
TCPServer
# sysaccept -> Integer (24122.0) -
接続したクライアントのソケットをファイル記述子で返すことを除けば TCPServer#accept と同じです。
...接続したクライアントのソケットをファイル記述子で返すことを除けば
TCPServer#accept と同じです。
例:
require 'socket'
TCPServer.open("", 0) {|serv|
c = TCPSocket.new(*serv.addr.values_at(3,1))
p serv.sysaccept #=> 6
}... -
TCPServer
# accept -> TCPSocket (24006.0) -
クライアントからの接続要求を受け付け、接続した TCPSocket のインスタンスを返します。
...クライアントからの接続要求を受け付け、接続した
TCPSocket のインスタンスを返します。
例:
require 'socket'
TCPServer.open("", 0) {|serv|
c = TCPSocket.new(*serv.addr.values_at(3,1))
s = serv.accept
c.write "foo"
p s.recv(10) #=> "foo"
}... -
TCPServer
# accept _ nonblock -> TCPSocket (24006.0) -
ソケットをノンブロッキングモードに設定した後、 accept(2) を呼び出します。
...に設定した後、
accept(2) を呼び出します。
返り値は TCPServer#accept と同じです。
accept(2) がエラーになった場合、
EAGAIN, EINTR を含め例外 Errno::EXXX が発生します。
@raise Errno::EXXX accept(2) がエラーになった場合に発生します。... -
TCPServer
# listen(backlog) -> 0 (24000.0) -
listen(2) を実行します。 (Socket#listenと同じ)
...ます。
失敗すれば 例外 Errno::EXXX が発生します。
@param backlog backlog は、クライアントからの接続要求を保留できる数です。
@raise Errno::EXXX listen(2) が失敗すれば 例外 Errno::EXXX が発生します。
@return listen(2) が成功すれば 0 を... -
BasicSocket
# remote _ address -> Addrinfo (12206.0) -
getpeername(2) で得られたリモートアドレス情報を Addrinfo オブジェクトとして返します。
...tpeername(2) で得られたリモートアドレス情報を
Addrinfo オブジェクトとして返します。
返されたオブジェクトの Addrinfo#protocol は 0 を
返すことに注意してください。
require 'socket'
TCPSocket.open("www.ruby-lang.org", 80) {|s|
p s.remo......te_address #=> #<Addrinfo: 221.186.184.68:80 TCP>
}
TCPServer.open("127.0.0.1", 1728) {|serv|
c = TCPSocket.new("127.0.0.1", 1728)
s = serv.accept
p s.remote_address #=> #<Addrinfo: 127.0.0.1:36504 TCP>
}
@see BasicSocket#getpeername... -
WEBrick
:: GenericServer # listeners -> [TCPServer] (9217.0) -
listen している TCPServer オブジェクトの配列を返します。
...listen している TCPServer オブジェクトの配列を返します。...