84件ヒット
[1-84件を表示]
(0.022秒)
種類
- インスタンスメソッド (48)
- ライブラリ (12)
- 文書 (12)
- 特異メソッド (12)
ライブラリ
- socket (60)
クラス
- Addrinfo (12)
- BasicSocket (24)
- UNIXSocket (24)
検索結果
先頭5件
- UNIXSocket
# addr -> [String , String] - UNIXSocket
# peeraddr -> [String , String] - Addrinfo
. new(sockaddr , family=Socket :: PF _ UNSPEC , socktype=0 , protocol=0) -> Addrinfo - BasicSocket
# recvmsg(maxmesglen=nil , flags=0 , maxcontrollen=nil , opts={}) -> [String , Addrinfo , Integer , *Socket :: AncillaryData] - BasicSocket
# sendmsg(mesg , flags=0 , dest _ sockaddr=nil , *controls) -> Integer
-
UNIXSocket
# addr -> [String , String] (27125.0) -
ソケットの接続情報を表す配列を返します。配列の各要素は第1要 素が文字列 "AF_UNIX"、第2要素がパスを表す文字列です。
...す。
例:
require 'socket'
UNIXServer.open("/tmp/s") {|serv|
p serv.addr #=> ["AF_UNIX", "/tmp/s"]
}
UNIXServer.open("/tmp/s") {|serv|
c = UNIXSocket.open("/tmp/s")
p c.peeraddr #=> ["AF_UNIX", "/tmp/s"]
p c.addr #=> ["AF_UNIX", ""]
}
@see UNIXSocket#peeraddr... -
UNIXSocket
# peeraddr -> [String , String] (15124.0) -
接続相手先ソケットの情報を表す配列を返します。配列の各要素は第1要 素が文字列 "AF_UNIX"、第2要素がパスを表す文字列です。
...各要素は第1要
素が文字列 "AF_UNIX"、第2要素がパスを表す文字列です。
例:
require 'socket'
UNIXServer.open("/tmp/s") {|serv|
c = UNIXSocket.open("/tmp/s")
p c.peeraddr #=> ["AF_UNIX", "/tmp/s"]
p c.addr #=> ["AF_UNIX", ""]
}
@see UNIXSocket#addr... -
Addrinfo
. new(sockaddr , family=Socket :: PF _ UNSPEC , socktype=0 , protocol=0) -> Addrinfo (3218.0) -
新たな Addrinfo オブジェクトを返します。
...新たな Addrinfo オブジェクトを返します。
sockaddr は connect(2) などで使われるパラメータで、
struct sockaddr に対応します。faimily, socktype, protocol
は socket(2) のパラメータに対応します。
sockaddr には文字列もしくは配列を指定し......。
配列の場合は IPSocket#addr や UNIXSocket#addr の
値と互換でなければなりません。
文字列の場合は Socket.sockaddr_in や
Socket.unpack_sockaddr_un で得られるようなものでなければ
なりません。
実際には sockaddr には以下のようなものが......T6", 42304, "ip6-localhost", "::1"]
* ["AF_UNIX", "/tmp/sock"]
* Socket.sockaddr_in("smtp", "2001:DB8::1")
* Socket.sockaddr_in(80, "172.18.22.42")
* Socket.sockaddr_in(80, "www.ruby-lang.org")
* Socket.sockaddr_un("/tmp/sock")
配列で AF_INET/AF_INET6 を指定した場合、配列の4... -
BasicSocket
# recvmsg(maxmesglen=nil , flags=0 , maxcontrollen=nil , opts={}) -> [String , Addrinfo , Integer , *Socket :: AncillaryData] (106.0) -
recvmsg(2) を用いてメッセージを受け取ります。
...は受け取ったメッセージを表す文字列です。
2番目の要素は connection-less socket の場合には送り元の
アドレスが Addrinfo オブジェクトとして含まれています。
TCP のような connection-oriented socket の場合は
何が含まれているかはプ......残りの要素は補助データ(Socket::AncillaryData オブジェクト)です。
require 'socket'
# UnixSocket#recv_io を recvmsg で実装する例
mesg, sender_sockaddr, rflags, *controls = sock.recvmsg(:scm_rights=>true)
controls.each {|ancdata|
if ancdata.cmsg_is?(:SOCKET,... -
BasicSocket
# sendmsg(mesg , flags=0 , dest _ sockaddr=nil , *controls) -> Integer (106.0) -
sendmsg(2) を用いてメッセージを送ります。
...t#sendmsg_nonblock を用います。
ソケットが connection-less の場合は dest_sockaddr で
通信先のアドレスを指定しなければなりません。Socket.sockaddr_in
の返り値や Addrinfo オブジェクトを引数として渡すことができます。
controls には 補......ンスや
3要素(cmsg_level, cmsg_type, cmsg_data) の配列を用いることができます。
送ったバイト数を返します。
# UnixSocket#send_io の実装例
# use Socket::AncillaryData.
require 'socket'
ancdata = Socket::AncillaryData.int(:UNIX, :SOCKET, :RIGHTS, io.fileno)......o].pack("i!")]
sock.sendmsg("\0", 0, nil, ancdata)
@param mesg メッセージ文字列
@param flags フラグ(Socket::MSG_* という定数の bitwise OR を取ったもの)
@param dest_sockaddr 通信先のアドレス
@param controls 補助データの配列
@see BasicSocket#sendmsg_nonblock... -
ruby 1
. 6 feature (36.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
...: 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'......k("/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", ""]
: ???
((<ruby-talk:21722>))
class Ptr......r 例外を起こすようになりました
ENV['HOME'] = nil
ENV['LOGDIR'] = nil
Dir.chdir
=> -:3:in `chdir': Bad address (Errno::EFAULT)
from -:3
ruby 1.6.4 (2001-08-26) [i586-linux]
=> -:3:in `chdir': HOME/LOGDIR not set (Argume... -
socket (12.0)
-
socket はプロセス外部との通信 (プロセス間通信、ホスト間通信) を実現します。
...ルを指すパス名です。
ソケットアドレスを取り扱うための便利で高水準なクラスとして Addrinfo があります。
IPSocket および UNIXSocket 以下のクラス階層では、
わざわざソケットアドレスという形式にまとめなくてもよいよう......によるIPアドレス(文字列) (例: "127.0.0.1")
* 空文字列 (""), 文字列 "<any>" - INADDR_ANYに相当
* 文字列 "::" - IN6ADDR_ANY_INIT に相当
* 文字列 "<broadcast>" - INADDR_BROADCASTに相当
* IPアドレスを表す 32bit の整数 (例: 0x7f000001)
====[a:service_f......とは、C 言語の構造体 struct sockaddr_in (IPv4)
や struct sockaddr_un (Unix ドメイン)を指します。
Socket クラスなどソケットの低レベルインタフェースで利用されます。
Socket.pack_sockaddr_in,
Socket.unpack_sockaddr_in といったメソッドにより、...