種類
- インスタンスメソッド (156)
- 特異メソッド (84)
- 文書 (60)
- クラス (24)
- ライブラリ (12)
ライブラリ
- socket (264)
クラス
- Addrinfo (12)
- BasicSocket (36)
-
Socket
:: AncillaryData (12) - UNIXServer (36)
- UNIXSocket (144)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (12) - Ruby用語集 (12)
- Socket (12)
- accept (12)
-
accept
_ nonblock (12) - addr (12)
- new (36)
- open (24)
- pair (12)
- path (12)
- peeraddr (12)
- recv (12)
-
recv
_ io (12) - recvfrom (12)
- recvmsg (12)
-
ruby 1
. 6 feature (12) -
ruby 1
. 8 . 5 feature (12) -
ruby 1
. 9 feature (12) -
send
_ io (12) - sendmsg (12)
- socket (12)
- socketpair (12)
- sysaccept (12)
-
unix
_ rights (12)
検索結果
先頭5件
- Socket
:: AncillaryData # unix _ rights -> [IO] | nil - ruby 1
. 6 feature - Addrinfo
. new(sockaddr , family=Socket :: PF _ UNSPEC , socktype=0 , protocol=0) -> Addrinfo - BasicSocket
# recv(maxlen , flags = 0) -> String - BasicSocket
# recvmsg(maxmesglen=nil , flags=0 , maxcontrollen=nil , opts={}) -> [String , Addrinfo , Integer , *Socket :: AncillaryData]
-
Socket
:: AncillaryData # unix _ rights -> [IO] | nil (18.0) -
Unix domain socket の SCM_RIGHTS 制御メッセージに含まれる ファイルディスクリプタを IO オブジェクトの配列として返します。
...hts
s1, s2 = UNIXSocket.pair
p s1 #=> #<UNIXSocket:fd 3>
s1.sendmsg "stdin and a socket", 0, nil, Socket::AncillaryData.unix_rights(STDIN, s1)
_, _, _, ctl = s2.recvmsg(:scm_rights=>true)
p ctl
#=> #<Socket::AncillaryData: UNIX SOCKET RIGHTS 6 7>......ights=>true is not given, unix_rights returns nil
s1, s2 = UNIXSocket.pair
s1.sendmsg "stdin and a socket", 0, nil, Socket::AncillaryData.unix_rights(STDIN, s1)
_, _, _, ctl = s2.recvmsg
p ctl #=> #<Socket::AncillaryData: UNIX SOCKET RIGHTS 6 7>
p ctl.unix_rights #=> nil
@raise TypeErr... -
ruby 1
. 6 feature (18.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
...p': can't dump anonymous class #<Class 0lx401ab980> (ArgumentError)
from -:1
ruby 1.6.5 (2001-10-05) [i586-linux]
: UNIXSocket#addr
UNIXSocket#addr がゴミを返していました(BSD の場合?)。
((<ruby-bugs-ja:PR#85>))
# server
require 'socket'... -
Addrinfo
. new(sockaddr , family=Socket :: PF _ UNSPEC , socktype=0 , protocol=0) -> Addrinfo (6.0) -
新たな Addrinfo オブジェクトを返します。
...(2) のパラメータに対応します。
sockaddr には文字列もしくは配列を指定します。
配列の場合は IPSocket#addr や UNIXSocket#addr の
値と互換でなければなりません。
文字列の場合は Socket.sockaddr_in や
Socket.unpack_sockaddr_un で得られる... -
BasicSocket
# recv(maxlen , flags = 0) -> String (6.0) -
ソケットからデータを受け取り、文字列として返します。 maxlen は受け取る最大の長さを指定します。 flags については recv(2) を参照してください。flags の デフォルト値は 0 です。flags の指定に必要な定数は Socket クラスで定義されています。(例: Socket::MSG_PEEK)
...@raise IOError
@raise Errno::EXXX recvfrom(2) がエラーになった場合などに発生します。
例:
require 'socket'
s1, s2 = UNIXSocket.pair
s1.write "a"
s1.close
p s2.recv(10, Socket::MSG_PEEK) #=> "a"
p s2.recv(10) #=> "a"
p s2.recv(10)... -
BasicSocket
# recvmsg(maxmesglen=nil , flags=0 , maxcontrollen=nil , opts={}) -> [String , Addrinfo , Integer , *Socket :: AncillaryData] (6.0) -
recvmsg(2) を用いてメッセージを受け取ります。
...R で表現されています。
残りの要素は補助データ(Socket::AncillaryData オブジェクト)です。
require 'socket'
# UnixSocket#recv_io を recvmsg で実装する例
mesg, sender_sockaddr, rflags, *controls = sock.recvmsg(:scm_rights=>true)
controls.each {|ancdata|... -
BasicSocket
# sendmsg(mesg , flags=0 , dest _ sockaddr=nil , *controls) -> Integer (6.0) -
sendmsg(2) を用いてメッセージを送ります。
...ンスや
3要素(cmsg_level, cmsg_type, cmsg_data) の配列を用いることができます。
送ったバイト数を返します。
# UnixSocket#send_io の実装例
# use Socket::AncillaryData.
require 'socket'
ancdata = Socket::AncillaryData.int(:UNIX, :SOCKET, :RIGHTS, io.fileno)... -
Ruby用語集 (6.0)
-
Ruby用語集 A B C D E F G I J M N O R S Y
...rb によって提供される分散オブジェクトプログラミングの
ための仕組み。
何らかの通信手段(TCPSocket や UNIXSocket など)を介して異なるプロセスやマシンの
間でオブジェクトにアクセスできる。
===[a:E] E
: ENV
環境変... -
Socket (6.0)
-
汎用ソケットクラス。
...* TCP のサーバソケット Socket.tcp_server_loop,
Socket.tcp_server_sockets, TCPServer.open
* UNIX socket のクライアントソケット Socket.unix UNIXSocket.open
* UNIX socket のサーバソケット Socket.unix_server_loop,
Socket.unix_server_socket, UNIXServer.open
また... -
UNIXServer
# sysaccept -> Integer (6.0) -
接続したクライアントのソケットをファイル記述子で返すことを除けば UNIXServer#accept と同じです。
...接続したクライアントのソケットをファイル記述子で返すことを除けば
UNIXServer#accept と同じです。
例:
require 'socket'
UNIXServer.open("/tmp/s") {|serv|
c = UNIXSocket.open("/tmp/s")
p serv.sysaccept #=> 6
}...