種類
- インスタンスメソッド (132)
- 定数 (132)
- 文書 (48)
- 特異メソッド (24)
- クラス (12)
ライブラリ
- etc (12)
- resolv-replace (12)
- socket (276)
クラス
モジュール
- Etc (12)
-
Socket
:: Constants (60)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (12) -
AI
_ PASSIVE (24) -
IPV6
_ V6ONLY (24) -
IP
_ FREEBIND (24) -
SC
_ RAW _ SOCKETS (12) -
SO
_ BINDTODEVICE (24) -
SO
_ REUSEADDR (24) - Socket (12)
- accept (12)
- connect (12)
- new (12)
- open (12)
- recvfrom (24)
-
recvfrom
_ nonblock (12) -
ruby 1
. 6 feature (12) -
ruby 1
. 8 . 4 feature (12) -
ruby 1
. 9 feature (12)
検索結果
先頭5件
-
TCPSocket
. open(host , service , local _ host=nil , local _ service=nil , connect _ timeout: nil) -> TCPSocket (11106.0) -
host で指定したホストの service で指定したポートと接続したソケッ トを返します。host はホスト名、またはインターネットアドレスを 示す文字列、service は /etc/services (または NIS) に登録されている サービス名かポート番号です。
...されている
サービス名かポート番号です。
引数 local_host, local_service を指定した場合、そのアドレス
に対して bind(2) します。
@param host ホスト名、またはインターネットアドレスを示す文字列を指定します。
@param ser... -
Socket
:: AncillaryData # timestamp -> Time (11090.0) -
タイムスタンプ制御メッセージに含まれる時刻を Time オブジェクト で返します。
...SOCKET/SCM_TIMESTAMP (micro second) GNU/Linux, FreeBSD, NetBSD, OpenBSD, Solaris, MacOS X
* SOL_SOCKET/SCM_TIMESTAMPNS (nano second) GNU/Linux
* SOL_SOCKET/SCM_BINTIME (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::AncillaryData: 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,
Socket::Constants::SO_TIMESTAMP,
Socket::Constants::SO_TIMESTAMPNS,
Socket::Constants::SO_BINTIME... -
Socket
:: Constants :: SO _ REUSEADDR -> Integer (11030.0) -
Allow local address reuse。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...Allow local address reuse。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see sys/socket.h(header), getsockopt(2freebsd),
socket(7linux), bind(2),
Socket::Constants::SOL_SOCKET... -
UDPSocket
# recvfrom _ nonblock(maxlen , flags=0) -> [String , Array] (11024.0) -
ソケットをノンブロッキングモードに設定した後、 recvfrom(2) でソケットからデータを受け取ります。
...ットからデータを受け取ります。
maxlen で受け取るデータの最大バイト数を指定します。
flags はフラグで、Socket::MSG_* の bitwise OR を渡します。
詳しくは recvfrom(2) を参照してください。
返り値はデータの文字列と送り元の......であることを意味する例外には、IO::WaitReadable が extend
されています。
require 'socket'
s1 = UDPSocket.new
s1.bind("127.0.0.1", 0)
s2 = UDPSocket.new
s2.bind("127.0.0.1", 0)
s2.connect(*s1.addr.values_at(3,1))
s1.connect(*s2.addr.values_at(3,1))
s1.send "aaa"......emulate blocking recvfrom
p s2.recvfrom_nonblock(10)
#=> ["aaa", ["AF_INET", 33302, "localhost.localdomain", "127.0.0.1"]]
rescue IO::WaitReadable
IO.select([s2])
retry
end
@param maxlen 受け取るデータの最大バイト数
@param flags フラグ
@see IPSocket#recvfrom... -
Socket
:: Constants :: AI _ PASSIVE -> Integer (11022.0) -
Get address to use with bind。
...Get address to use with bind。
Socket.getaddrinfo, Addrinfo.getaddrinfo の引数 flags に渡す
定数です。
@see getaddrinfo(3)... -
Socket
:: Constants :: IPV6 _ V6ONLY -> Integer (11022.0) -
Only bind IPv6。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...Only bind IPv6。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see Socket::Constants::IPPROTO_IPV6,
netinet/in.h(header), ip6(4freebsd), ipv6(7linux),
3493... -
IPSocket
# recvfrom(maxlen , flags = 0) -> Array (11012.0) -
recv と同様にソケットからデータを受け取りますが、 戻り値は文字列と相手ソケットのアドレス (形式は IPSocket#addr 参照) のペアです。引数につ いては BasicSocket#recv と同様です。
...からデータを受け取りますが、
戻り値は文字列と相手ソケットのアドレス (形式は
IPSocket#addr 参照) のペアです。引数につ
いては BasicSocket#recv と同様です。
@param maxlen 受け取る文字列の最大の長さを指定します。
@param flags......X recvfrom(2) がエラーになった場合などに発生します。
例:
require 'socket'
s1 = UDPSocket.new
s1.bind("0.0.0.0", 0) # 適当に空いている port を割り当てる
s2 = UDPSocket.new
s2.send("foo", 0, s1.getsockname)
mesg, inet_addr = s1.recvfrom(100)
p mesg... -
UDPSocket
# connect(host , port) -> 0 (11012.0) -
ソケットを host の port に connect(2) します。
...UDPSocket#send で送り先のアドレスを指定せずに
データを送ることができます(connect しなくとも送り先のアドレスを明示すれば
データを送ることができます)。
require 'socket'
u1 = UDPSocket.new
u1.bind("127.0.0.1", 4913)
u2 = UDPSocket.n... -
Etc
:: SC _ RAW _ SOCKETS -> Integer (3101.0) -
Etc.#sysconf の引数に指定します。
Etc.#sysconf の引数に指定します。
詳細は sysconf(3) を参照してください。