552件ヒット
[1-100件を表示]
(0.090秒)
クラス
- Addrinfo (108)
- BasicSocket (132)
- IPSocket (36)
- Socket (36)
-
Socket
:: AncillaryData (144) - UDPSocket (24)
- UNIXServer (12)
- UNIXSocket (60)
キーワード
-
accept
_ nonblock (12) - addr (24)
-
cmsg
_ is? (12) - connect (24)
-
connect
_ address (12) -
connect
_ from (24) -
connect
_ nonblock (12) - data (12)
-
do
_ not _ reverse _ lookup (12) - family (12)
-
family
_ addrinfo (24) - getnameinfo (12)
- getsockopt (12)
- int (12)
-
ip
_ address (12) -
ip
_ pktinfo (12) -
ip
_ port (12) -
ip
_ unpack (12) -
ipv6
_ pktinfo (12) -
ipv6
_ pktinfo _ addr (12) -
ipv6
_ pktinfo _ ifindex (12) - level (12)
-
local
_ address (12) - peeraddr (24)
- recv (12)
-
recv
_ io (12) - recvfrom (36)
-
recvfrom
_ nonblock (12) - recvmsg (12)
-
remote
_ address (12) - send (12)
-
send
_ io (12) - sendmsg (12)
- setsockopt (24)
- type (12)
-
unix
_ path (12) -
unix
_ rights (12)
検索結果
先頭5件
-
Socket
:: AncillaryData # timestamp -> Time (6239.0) -
タイムスタンプ制御メッセージに含まれる時刻を Time オブジェクト で返します。
...を Time オブジェクト
で返します。
"タイムスタンプ制御メッセージ" は以下のいずれかです。
* SOL_SOCKET/SCM_TIMESTAMP (micro second) GNU/Linux, FreeBSD, NetBSD, OpenBSD, Solaris, MacOS X
* SOL_SOCKET/SCM_TIMESTAMPNS (nano second) GNU/Linux
* SOL_SOCKET/SC......TIME (2**(-64) second) FreeBSD
require 'socket'
Addrinfo.udp("127.0.0.1", 0).bind {|s1|
Addrinfo.udp("127.0.0.1", 0).bind {|s2|
s1.setsockopt(:SOCKET, :TIMESTAMP, true)
s2.send "a", 0, s1.local_address
ctl = s1.recvmsg.last
p ctl
#=> #<Socket::AncillaryDat......INET SOCKET TIMESTAMP 2009-02-24 17:35:46.775581>
t = ctl.timestamp
p t #=> 2009-02-24 17:35:46 +0900
p t.usec #=> 775581
p t.nsec #=> 775581000
}
}
@see Socket::Constants::SCM_TIMESTAMP,
Socket::Constants::SCM_TIMESTAMPNS,
Socket::Constants::SCM_BINTIME... -
BasicSocket
# setsockopt(level , optname , optval) -> 0 (6145.0) -
ソケットのオプションを設定します。setsockopt(2) を参照してください。
...ます。setsockopt(2)
を参照してください。
level, optname には Socket::SOL_SOCKET や Socket::SO_REUSEADDR
といった整数値の他、文字列("SOL_SOCKET", prefixなしの "SOCKET")や
シンボル(:SO_REUSEADDR, :REUSEADDR)を用いることができます。
optval には文......偽値(true or false)を渡すことができます。
文字列の場合には setsockopt(2) にはその文字列と
長さが渡されます。整数の場合はintへのポインタが渡されます。
true/falseの場合は0/1という整数と解釈され、そのメモリ領域の
intポイ...... Socket::Option で設定値を表現します。
require 'socket'
# 真偽値の場合
#setsockopt could be called like this:
sock.setsockopt(:SOCKET, :REUSEADDR, true)
sock.setsockopt(Socket::SOL_SOCKET,Socket::SO_REUSEADDR, true)
sock.setsockopt(Socket::Option.bool(:INET, :SOCKET,... -
BasicSocket
# setsockopt(socketoption) -> 0 (6145.0) -
ソケットのオプションを設定します。setsockopt(2) を参照してください。
...ます。setsockopt(2)
を参照してください。
level, optname には Socket::SOL_SOCKET や Socket::SO_REUSEADDR
といった整数値の他、文字列("SOL_SOCKET", prefixなしの "SOCKET")や
シンボル(:SO_REUSEADDR, :REUSEADDR)を用いることができます。
optval には文......偽値(true or false)を渡すことができます。
文字列の場合には setsockopt(2) にはその文字列と
長さが渡されます。整数の場合はintへのポインタが渡されます。
true/falseの場合は0/1という整数と解釈され、そのメモリ領域の
intポイ...... Socket::Option で設定値を表現します。
require 'socket'
# 真偽値の場合
#setsockopt could be called like this:
sock.setsockopt(:SOCKET, :REUSEADDR, true)
sock.setsockopt(Socket::SOL_SOCKET,Socket::SO_REUSEADDR, true)
sock.setsockopt(Socket::Option.bool(:INET, :SOCKET,... -
Addrinfo
# getnameinfo(flags=0) -> [String , String] (6127.0) -
ノード名とサービスを文字列の配列で返します。
... Socket::NI_??? という名前の定数のビット OR を渡します。
require 'socket'
Addrinfo.tcp("127.0.0.1", 80).getnameinfo
#=> ["localhost", "www"]
Addrinfo.tcp("127.0.0.1", 80).getnameinfo(Socket::NI_NUMERICSERV)
#=> ["localhost", "80"]
@param flags フラグ
@raise SocketEr......ror getnameinfo(3) がエラーを起こした場合に生じる例外
@see Socket.getnameinfo... -
BasicSocket
# getsockopt(level , optname) -> Socket :: Option (6127.0) -
ソケットのオプションを取得します。getsockopt(2) を参照してください。 取得したオプションのデータを Socket::Option で返します。
...得します。getsockopt(2)
を参照してください。
取得したオプションのデータを Socket::Option で返します。
level, optname には Socket::SOL_SOCKET や Socket::SO_REUSEADDR
といった整数値の他、文字列("SOL_SOCKET", prefixなしの "SOCKET")や
シンボル......
@param level getsockopt(2) の 第二引数のlevel
@param optname getsockopt(2) の 第三引数のoption_name
@see BasicSocket#setsockopt
例:
require 'socket'
serv = Socket.tcp_server_sockets("", 0)[0]
c = serv.local_address.connect
s = serv.accept
opt = c.getsockopt(Socket::......IPPROTO_TCP, Socket::TCP_NODELAY)
# c.getsockopt("TCP", "NODELAY"), なども可能
p opt #=> #<Socket::Option: INET TCP NODELAY 0>
p opt.bool #=> false (Nagle アルゴリズム有効)
p opt.unpack("i")[0] #=> 0 (Socket::Option#unpack が互換性のために存在する)
# 整数値の... -
Addrinfo
# connect _ from(host , port) -> Socket (6121.0) -
引数で指定されたアドレスから 自身のアドレスへソケットを接続します。
...クが渡されたときにはそのブロックに接続済み Socket
オブジェクトが渡されます。ブロックの返り値がメソッドの返り値となります。
ブロックを省略した場合は、接続済みSocket
オブジェクトが返されます。
引数で指定した......スになります。
require 'socket'
Addrinfo.tcp("www.ruby-lang.org", 80).connect_from("0.0.0.0", 4649) {|s|
s.print "GET / HTTP/1.0\r\nHost: www.ruby-lang.org\r\n\r\n"
puts s.read
}
@param host ホスト(IP アドレスもしくはホスト名)
@param port ポート番号(整数... -
Addrinfo
# connect _ from(host , port) {|sock| . . . } -> object (6121.0) -
引数で指定されたアドレスから 自身のアドレスへソケットを接続します。
...クが渡されたときにはそのブロックに接続済み Socket
オブジェクトが渡されます。ブロックの返り値がメソッドの返り値となります。
ブロックを省略した場合は、接続済みSocket
オブジェクトが返されます。
引数で指定した......スになります。
require 'socket'
Addrinfo.tcp("www.ruby-lang.org", 80).connect_from("0.0.0.0", 4649) {|s|
s.print "GET / HTTP/1.0\r\nHost: www.ruby-lang.org\r\n\r\n"
puts s.read
}
@param host ホスト(IP アドレスもしくはホスト名)
@param port ポート番号(整数... -
BasicSocket
# connect _ address -> Addrinfo (6121.0) -
ローカルマシン内で接続するのに適当なアドレスを Addrinfo オブジェクトで返します。
...ローカルマシン内で接続するのに適当なアドレスを Addrinfo
オブジェクトで返します。
BasicSocket#local_address の返り値
以下の点を除いては同じものを返します。
* IPv4 の不定アドレス(0.0.0.0) は IPv4 のループバックアドレス(12......BasicSocket#local_address が接続先として不適なアドレスを返す場合は
例外 SocketError が発生します。
require 'socket'
Addrinfo.tcp("0.0.0.0", 0).listen {|serv|
p serv.connect_address #=> #<Addrinfo: 127.0.0.1:53660 TCP>
serv.connect_address.connect {|c|......s, _ = serv.accept
p [c, s] #=> [#<Socket:fd 4>, #<Socket:fd 6>]
}
}
@raise SocketError アドレスが接続に不適な場合に返します
@see BasicSocket#local_address... -
Socket
# connect(server _ sockaddr) -> 0 (6121.0) -
connect(2) でソケットを接続します。
...connect(2) でソケットを接続します。
server_sockaddr は、
lib:socket#pack_string
もしくは Addrinfo オブジェクト
です。
0 を返します。
@param server_sockaddr 接続先アドレス
@raise Errno::EXXX connect(2) がエラーを報告した場合に発生します。...... TCP ソケットを生成し、connect で www.ruby-lang.org:80 に接続するには以下のようにします。
例:
require 'socket'
s = Socket.new(Socket::AF_INET, Socket::SOCK_STREAM, 0)
sockaddr = Socket.sockaddr_in(80, "www.ruby-lang.org")
s.connect(sockaddr)
s.write "GET / HT......TP/1.0\r\n\r\n"
print s.read...