種類
- インスタンスメソッド (110)
- 特異メソッド (110)
- 定数 (110)
クラス
- Addrinfo (22)
- IPSocket (33)
- Socket (165)
-
Socket
:: AncillaryData (11) - UDPSocket (44)
モジュール
-
Socket
:: Constants (55)
キーワード
-
AF
_ INET6 (22) -
NI
_ DGRAM (22) -
PF
_ INET (22) -
PF
_ INET6 (22) - accept (11)
- addr (11)
- afamily (11)
- connect (22)
-
connect
_ nonblock (11) - getaddrinfo (11)
- gethostbyaddr (11)
- gethostbyname (11)
- getnameinfo (11)
- new (44)
- open (22)
- peeraddr (11)
- recvfrom (22)
-
recvfrom
_ nonblock (11)
検索結果
先頭5件
-
Socket
:: Constants :: NI _ DGRAM -> Integer (6214.0) -
The service specified is a datagram service (looks up UDP ports)。
...The service specified is a datagram service (looks up UDP ports)。
Socket.getnameinfo, Addrinfo#getnameinfo の引数 flags に渡す
定数です。
require 'socket'
Socket.getnameinfo([ Socket::AF_INET, 514, "127.0.0.1"], Socket::NI_DGRAM)
# => ["localhost", "syslog"]
Socket.getnamei......nfo([ Socket::AF_INET, 514, "127.0.0.1"])
# => ["localhost", "shell"]
@see getnameinfo(3)... -
Socket
:: NI _ DGRAM -> Integer (6214.0) -
The service specified is a datagram service (looks up UDP ports)。
...The service specified is a datagram service (looks up UDP ports)。
Socket.getnameinfo, Addrinfo#getnameinfo の引数 flags に渡す
定数です。
require 'socket'
Socket.getnameinfo([ Socket::AF_INET, 514, "127.0.0.1"], Socket::NI_DGRAM)
# => ["localhost", "syslog"]
Socket.getnamei......nfo([ Socket::AF_INET, 514, "127.0.0.1"])
# => ["localhost", "shell"]
@see getnameinfo(3)... -
IPSocket
# recvfrom(maxlen , flags = 0) -> Array (6208.0) -
recv と同様にソケットからデータを受け取りますが、 戻り値は文字列と相手ソケットのアドレス (形式は IPSocket#addr 参照) のペアです。引数につ いては BasicSocket#recv と同様です。
...
recv と同様にソケットからデータを受け取りますが、
戻り値は文字列と相手ソケットのアドレス (形式は
IPSocket#addr 参照) のペアです。引数につ
いては BasicSocket#recv と同様です。
@param maxlen 受け取る文字列の最大の長さを......@param flags recv(2) を参照してください。
@raise IOError
@raise Errno::EXXX recvfrom(2) がエラーになった場合などに発生します。
例:
require 'socket'
s1 = UDPSocket.new
s1.bind("0.0.0.0", 0) # 適当に空いている port を割り当てる
s2 = UDPSocket.ne......w
s2.send("foo", 0, s1.getsockname)
mesg, inet_addr = s1.recvfrom(100)
p mesg #=> "foo"
p inet_addr #=> ["AF_INET", 32876, "localhost.localdomain", "127.0.0.1"]... -
UDPSocket
# recvfrom _ nonblock(maxlen , flags=0) -> [String , Array] (6208.0) -
ソケットをノンブロッキングモードに設定した後、 recvfrom(2) でソケットからデータを受け取ります。
...グモードに設定した後、
recvfrom(2) でソケットからデータを受け取ります。
maxlen で受け取るデータの最大バイト数を指定します。
flags はフラグで、Socket::MSG_* の bitwise OR を渡します。
詳しくは recvfrom(2) を参照してくださ......ります。
recvfrom(2) がエラーになった場合、
Errno::EAGAIN, Errno::EINTR を含め例外 Errno::EXXX が発生します。
Errno::EWOULDBLOCK、Errno::EAGAIN のような待ってからリトライすることが
可能であることを意味する例外には、IO::WaitReadable が......れています。
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", 0
begin # emulate blocking recvfrom
p s2.recvfrom_nonblock(10)... -
Addrinfo
. new(sockaddr , family=Socket :: PF _ UNSPEC , socktype=0 , protocol=0) -> Addrinfo (3238.0) -
新たな Addrinfo オブジェクトを返します。
...新たな Addrinfo オブジェクトを返します。
sockaddr は connect(2) などで使われるパラメータで、
struct sockaddr に対応します。faimily, socktype, protocol
は socket(2) のパラメータに対応します。
sockaddr には文字列もしくは配列を指定し......#addr や UNIXSocket#addr の
値と互換でなければなりません。
文字列の場合は Socket.sockaddr_in や
Socket.unpack_sockaddr_un で得られるようなものでなければ
なりません。
実際には sockaddr には以下のようなものが使えます。
* ["AF_INET",.......0.0.1"]
* ["AF_INET6", 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 を指定し... -
Socket
:: AncillaryData . new(family , cmsg _ level , cmsg _ type , cmsg _ data) -> Socket :: AncillaryData (3220.0) -
新たな Socket::AncillaryData オブジェクトを生成します。
...新たな Socket::AncillaryData オブジェクトを生成します。
family はソケットファミリーを指定します。
整数、文字列、シンボルを渡します。
* Socket::AF_INET, "AF_INET", "INET", :AF_INET, :INET
* Socket::AF_UNIX, "AF_UNIX", "UNIX", :AF_UNIX, :UNIX
*......します。
整数、文字列、シンボルを渡します。
* Socket::SOL_SOCKET, "SOL_SOCKET", "SOCKET", :SOL_SOCKET and :SOCKET
* Socket::IPPROTO_IP, "IP" and :IP
* Socket::IPPROTO_IPV6, "IPV6" and :IPV6
* Socket::IPPROTO_TCP, "TCP" and :TCP
* など
cmsg_type は補助データの種......* Socket::SCM_RIGHTS, "SCM_RIGHTS", "RIGHTS", :SCM_RIGHTS, :RIGHTS for SOL_SOCKET
* Socket::IP_RECVTTL, "RECVTTL" and :RECVTTL for IPPROTO_IP
* Socket::IPV6_PKTINFO, "PKTINFO" and :PKTINFO for IPPROTO_IPV6
* など
cmsg_data には補助データの内容となる文字列を渡します
req... -
Addrinfo
# afamily -> Integer (3208.0) -
アドレスファミリーを整数で返します。
...アドレスファミリーを整数で返します。
require 'socket'
Addrinfo.tcp("localhost", 80).afamily == Socket::AF_INET #=> true... -
Socket
:: Constants :: PF _ INET -> Integer (3203.0) -
IPv4。 Socket.open の第一引数 domain に使用します。
...IPv4。
Socket.open の第一引数 domain に使用します。
@see sys/socket.h(header), socket(2freebsd), ip(7linux)... -
Socket
:: Constants :: PF _ INET6 -> Integer (3203.0) -
IPv6。 Socket.open の第一引数 domain に使用します。
...IPv6。
Socket.open の第一引数 domain に使用します。
@see sys/socket.h(header), socket(2freebsd), ipv6(7linux)... -
Socket
:: PF _ INET -> Integer (3203.0) -
IPv4。 Socket.open の第一引数 domain に使用します。
...IPv4。
Socket.open の第一引数 domain に使用します。
@see sys/socket.h(header), socket(2freebsd), ip(7linux)...