種類
- 特異メソッド (55)
- インスタンスメソッド (44)
- 文書 (11)
ライブラリ
- socket (99)
クラス
- Socket (11)
- UNIXServer (77)
- UNIXSocket (11)
キーワード
-
accept
_ loop (11) -
accept
_ nonblock (11) - new (22)
- open (22)
- recvfrom (11)
-
ruby 1
. 6 feature (11) - sysaccept (11)
検索結果
先頭5件
-
UNIXServer
# accept -> UnixSocket (24323.0) -
クライアントからの接続要求を accept(2)で待ち受け、接続した UNIXSocket のインスタンスを返します。
...らの接続要求を accept(2)で待ち受け、接続した
UNIXSocket のインスタンスを返します。
例:
require 'socket'
UNIXServer.open("/tmp/s") {|serv|
c = UNIXSocket.open("/tmp/s")
s = serv.accept
s.write "from server"
c.write "from client"
p c.recv(20)......#=> "from server"
p s.recv(20) #=> "from client"
}... -
UNIXServer
# accept _ nonblock -> UnixSocket (12347.0) -
ソケットをノンブロッキングモードに設定した後、 accept(2) を呼び出します。
...グモードに設定した後、
accept(2) を呼び出します。
接続した
UNIXSocket のインスタンスを返します。
accept(2) がエラーになった場合、Socket#accept と同じ例外が
発生します。
Errno::EWOULDBLOCK, Errno::EAGAIN,
Errno::ECONNABORTED, Errno::EPROT...... IO::WaitReadable が extend
されます。それを利用してリトライ可能な例外を掴まえることができます。
require 'socket'
serv = UNIXServer.new("/tmp/sock")
begin # emulate blocking accept
sock = serv.accept_nonblock
rescue IO::WaitReadable, Errno::EINTR
I......O.select([serv])
retry
end
# sock is an accepted socket.
@see UNIXServer#accept... -
UNIXServer
# sysaccept -> Integer (12216.0) -
接続したクライアントのソケットをファイル記述子で返すことを除けば UNIXServer#accept と同じです。
...接続したクライアントのソケットをファイル記述子で返すことを除けば
UNIXServer#accept と同じです。
例:
require 'socket'
UNIXServer.open("/tmp/s") {|serv|
c = UNIXSocket.open("/tmp/s")
p serv.sysaccept #=> 6
}... -
UNIXSocket
# recvfrom(maxlen , flags = 0) -> [String [String , String]] (6306.0) -
recvfrom(2) を用いてソケットからメッセージを受け取ります。
...ocket::MSG_* という名前の定数の bitwise OR を渡します。
戻り値は文字列と相手ソケットのパスのペアです。
例:
require 'socket'
UNIXServer.open("/tmp/s") {|serv|
c = UNIXSocket.open("/tmp/s")
s = serv.accept
s.send "a", 0
p c.recvfrom(10)[0]... -
Socket
. accept _ loop(sockets) {|sock , client _ addrinfo| . . . } -> () (6213.0) -
sockets でサーバソケットを受け取り、接続を待ち受け、 クライアントとの接続が確立するたびにブロックにその接続 ソケットを渡し呼び出します。
...トと接続したソケットオブジェクトと
Addrinfo オブジェクトです。
Socket.tcp_server_loop と同様、ブロックは
逐次的に呼び出されます。つまりブロックか終了するまで
次の接続は accept されません。
並列に通信したい場合は
ス......レッドのような並列実行機構を使う必要があります。
@param sockets 待ち受けたいサーバソケットの配列
@see Socket.tcp_server_loop, Socket.unix_server_loop... -
UNIXServer
. new(path) -> UNIXServer (6206.0) -
path で指定したパス名を用いて接続を受け付けるソケット を作成します。
...クを呼びだし、
ブロック終了時にソケットを閉じます。この場合には
ブロックの評価値を返り値として返します。
@param path 接続を受け付けるパス名文字列
require 'socket'
serv = UNIXServer.new("/tmp/sock")
s = serv.accept
p s.read... -
UNIXServer
. open(path) -> UNIXServer (6206.0) -
path で指定したパス名を用いて接続を受け付けるソケット を作成します。
...クを呼びだし、
ブロック終了時にソケットを閉じます。この場合には
ブロックの評価値を返り値として返します。
@param path 接続を受け付けるパス名文字列
require 'socket'
serv = UNIXServer.new("/tmp/sock")
s = serv.accept
p s.read... -
UNIXServer
. new(path) {|sock| . . . } -> object (6006.0) -
path で指定したパス名を用いて接続を受け付けるソケット を作成します。
...クを呼びだし、
ブロック終了時にソケットを閉じます。この場合には
ブロックの評価値を返り値として返します。
@param path 接続を受け付けるパス名文字列
require 'socket'
serv = UNIXServer.new("/tmp/sock")
s = serv.accept
p s.read... -
UNIXServer
. open(path) {|sock| . . . } -> object (6006.0) -
path で指定したパス名を用いて接続を受け付けるソケット を作成します。
...クを呼びだし、
ブロック終了時にソケットを閉じます。この場合には
ブロックの評価値を返り値として返します。
@param path 接続を受け付けるパス名文字列
require 'socket'
serv = UNIXServer.new("/tmp/sock")
s = serv.accept
p s.read... -
ruby 1
. 6 feature (1068.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
...ruby 1.6 feature
ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン
になります。
((<stable-snapshot|URL:ftp://ftp.netlab.co.jp/pub/lang/ruby/stable-snapshot.tar.gz>)) は、日々更新される安定版の最新ソースです。
== 1.6.8 (2002-12-24) ->......=> ruby 1.6.4 (2001-06-04) [i586-linux]
"\004\005c\031#<Class 0lx401a6b44>"
=> -:1:in `dump': can't dump anonymous class #<Class 0lx401ab980> (ArgumentError)
from -:1
ruby 1.6.5 (2001-10-05) [i586-linux]
: UNIXSocket#addr
UNIXSocket#addr がゴミを返して......# server
require 'socket'
File.unlink("/tmp/sss")
sock = UNIXServer.new("/tmp/sss").accept
# client
require 'socket'
sock = UNIXSocket.new("/tmp/sss").addr
=> ["AF_UNIX", "\031((\306\031(\010"]
=> ["AF_UNIX", ""]
: ???
((...