クラス
- Addrinfo (24)
- BasicSocket (84)
- IPSocket (36)
- Socket (48)
-
Socket
:: AncillaryData (36) -
Socket
:: Option (36) - TCPServer (24)
キーワード
-
accept
_ nonblock (12) - addr (12)
- bool (12)
- connect (12)
-
connect
_ address (12) -
connect
_ nonblock (12) - getnameinfo (12)
- int (24)
-
ip
_ pktinfo (12) - linger (12)
- listen (12)
- peeraddr (12)
- recv (12)
-
recv
_ nonblock (12) - recvfrom (24)
-
recvfrom
_ nonblock (12) - send (12)
- setsockopt (24)
- shutdown (12)
-
unix
_ path (12) -
unix
_ rights (12)
検索結果
先頭5件
-
BasicSocket
# shutdown(how = Socket :: SHUT _ RDWR) -> 0 (21.0) -
ソケットの以降の接続を終了させます。
...接続が終了します。
* Socket::SHUT_RD: それ以降の受信が拒否されます
* Socket::SHUT_WR: それ以降の送信が拒否されます
* Socket::SHUT_RDWR: それ以降の送信、受信ともに拒否されます
how を省略すると Socket::SHUT_RDWR を指定したこ......方を Socket::SHUT_RD, Socket::SHUT_WR, Socket::SHUT_RDWR などで指定します。
@raise Errno::EXXX ソケットの以降の接続を終了操作が失敗した場合に発生します。
@raise ArgumentError how に範囲外の整数を入力した場合に発生します。
@raise SecurityE... -
BasicSocket
# recv(maxlen , flags = 0) -> String (15.0) -
ソケットからデータを受け取り、文字列として返します。 maxlen は受け取る最大の長さを指定します。 flags については recv(2) を参照してください。flags の デフォルト値は 0 です。flags の指定に必要な定数は Socket クラスで定義されています。(例: Socket::MSG_PEEK)
...は recv(2) を参照してください。flags の
デフォルト値は 0 です。flags の指定に必要な定数は
Socket クラスで定義されています。(例: Socket::MSG_PEEK)
内部で呼び出す recv(2) が 0 を返した場合、このメソッドは "" を返します。
この......flags recv(2) を参照してください。
@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)... -
BasicSocket
# recv _ nonblock(maxlen , flags = 0) -> String (15.0) -
ソケットをノンブロッキングモードに設定した後、 recvfrom(2) でソケットからデータを受け取ります。
...sicSocket#recv と同じです。
recvfrom(2) がエラーになった場合、
EAGAIN, EINTR を含め例外 Errno::EXXX が発生します。
@param maxlen 受け取る文字列の最大の長さを指定します。
@param flags recv(2) を参照してください。
@raise IOError
@raise Er... -
IPSocket
# recvfrom(maxlen , flags = 0) -> Array (15.0) -
recv と同様にソケットからデータを受け取りますが、 戻り値は文字列と相手ソケットのアドレス (形式は IPSocket#addr 参照) のペアです。引数につ いては BasicSocket#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.new
s2.send("foo", 0, s1.getsockname)
mesg, inet_addr = s1.recvfrom(100)
p mesg #=> "... -
Addrinfo
# getnameinfo(flags=0) -> [String , String] (9.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... -
Addrinfo
# unix _ path -> String (9.0) -
Unix domain socket の path を文字列で返します。
...Unix domain socket の path を文字列で返します。
require 'socket'
Addrinfo.unix("/tmp/sock").unix_path #=> "/tmp/sock"
@raise SocketError アドレスが Unix domain socket のものでない場合に発生します... -
BasicSocket
# connect _ address -> Addrinfo (9.0) -
ローカルマシン内で接続するのに適当なアドレスを Addrinfo オブジェクトで返します。
...ローカルマシン内で接続するのに適当なアドレスを Addrinfo
オブジェクトで返します。
BasicSocket#local_address の返り値
以下の点を除いては同じものを返します。
* IPv4 の不定アドレス(0.0.0.0) は IPv4 のループバックアドレス(12......:) は IPv6 のループバックアドレス(::1)
に置換される
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... -
BasicSocket
# send(mesg , flags , dest _ sockaddr = nil) -> Integer (9.0) -
ソケットを介してデータを送ります。flags に関しては send(2) を参照してください。connect していないソケット に対しては送り先である dest_sockaddr を指定する必要があります。実際に送っ たデータの長さを返します。
...ットアドレス構造体を pack した文字列」を指定します。
@raise Errno::EXXX データの送信に失敗した場合に発生します。
例:
require 'socket'
s = UDPSocket.new
sockaddr = Socket.sockaddr_in("discard", "localhost")
s.send("The king has donkey ears!", 0,... -
BasicSocket
# setsockopt(level , optname , optval) -> 0 (9.0) -
ソケットのオプションを設定します。setsockopt(2) を参照してください。
...を設定します。setsockopt(2)
を参照してください。
level, optname には Socket::SOL_SOCKET や Socket::SO_REUSEADDR
といった整数値の他、文字列("SOL_SOCKET", prefixなしの "SOCKET")や
シンボル(:SO_REUSEADDR, :REUSEADDR)を用いることができます。
optval...... 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,......etsockopt(Socket::IPPROTO_IP, Socket::IP_TTL, 255)
sock.setsockopt(Socket::Option.int(:INET, :IP, :TTL, 255))
# より複雑な場合
optval = IPAddr.new("224.0.0.251").hton +
IPAddr.new(Socket::INADDR_ANY, Socket::AF_INET).hton
sock.setsockopt(Socket::IPPROTO_IP, Socket::IP_ADD_...