種類
- インスタンスメソッド (153)
- 特異メソッド (144)
- 定数 (120)
- クラス (12)
- 文書 (12)
クラス
- Addrinfo (12)
- Array (21)
- BasicSocket (36)
- IPSocket (36)
- Socket (168)
-
Socket
:: AncillaryData (12) -
Socket
:: Option (12) - String (12)
- UDPSocket (48)
モジュール
-
Socket
:: Constants (60)
キーワード
- ACL (12)
-
AF
_ INET6 (24) -
NI
_ DGRAM (24) -
PF
_ INET (24) -
PF
_ INET6 (24) - addr (12)
- bool (12)
- connect (24)
-
connect
_ nonblock (12) -
do
_ not _ reverse _ lookup= (12) - getaddrinfo (12)
- gethostbyaddr (12)
- gethostbyname (12)
- getnameinfo (12)
- new (48)
- open (24)
- pack (21)
- pack テンプレート文字列 (12)
- peeraddr (12)
- recvfrom (24)
-
recvfrom
_ nonblock (12) - setsockopt (24)
- unpack (12)
検索結果
先頭5件
-
Array
# pack(template) -> String (48.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
...。
buffer が指定されていれば、バッファとして使って返値として返します。
もし template の最初にオフセット (@) が指定されていれば、
結果はオフセットの後ろから詰められます。
buffer の元の内容がオフセットより長けれ......す。
//emlist[例][ruby]{
['!'].pack('@1a', buffer: 'abc') # => "a!"
['!'].pack('@5a', buffer: 'abc') # => "abc\u0000\u0000!"
//}
@param template 自身のバイナリとしてパックするためのテンプレートを文字列で指定します。
@param buffer 結果を詰めるバッ......0.0.1".split(".").collect {|c| c.to_i}.pack("C4")
# => "\x7F\x00\x00\x01"
//}
: sockaddr_in 構造体
//emlist[][ruby]{
require 'socket'
[Socket::AF_INET,
Socket.getservbyname('echo'),
127, 0, 0, 1].pack("s n C4 x8")
# => "\x02\x00\x00\a\x7F\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00"
//}
pac... -
Array
# pack(template , buffer: String . new) -> String (48.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
...。
buffer が指定されていれば、バッファとして使って返値として返します。
もし template の最初にオフセット (@) が指定されていれば、
結果はオフセットの後ろから詰められます。
buffer の元の内容がオフセットより長けれ......す。
//emlist[例][ruby]{
['!'].pack('@1a', buffer: 'abc') # => "a!"
['!'].pack('@5a', buffer: 'abc') # => "abc\u0000\u0000!"
//}
@param template 自身のバイナリとしてパックするためのテンプレートを文字列で指定します。
@param buffer 結果を詰めるバッ......0.0.1".split(".").collect {|c| c.to_i}.pack("C4")
# => "\x7F\x00\x00\x01"
//}
: sockaddr_in 構造体
//emlist[][ruby]{
require 'socket'
[Socket::AF_INET,
Socket.getservbyname('echo'),
127, 0, 0, 1].pack("s n C4 x8")
# => "\x02\x00\x00\a\x7F\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00"
//}
pac... -
String
# unpack(template) -> Array (48.0) -
Array#pack で生成された文字列を テンプレート文字列 template にしたがってアンパックし、 それらの要素を含む配列を返します。
...プレート文字列 template にしたがってアンパックし、
それらの要素を含む配列を返します。
@param template pack テンプレート文字列
@return オブジェクトの配列
以下にあげるものは、Array#pack、String#unpack
のテンプレー......jZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWg==".unpack("m0")
# => ["abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"]
//}
@see base64
: M
quoted-printable encoding された文字列
//emlist[][ruby]{
["a b c\td \ne"].pack("M") # => "a b c\td =\n\ne=\n"
"a b c\td =\n......0.0.1".split(".").collect {|c| c.to_i}.pack("C4")
# => "\x7F\x00\x00\x01"
//}
: sockaddr_in 構造体
//emlist[][ruby]{
require 'socket'
[Socket::AF_INET,
Socket.getservbyname('echo'),
127, 0, 0, 1].pack("s n C4 x8")
# => "\x02\x00\x00\a\x7F\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00"
//}
pac......プレート文字列 template にしたがってアンパックし、
それらの要素を含む配列を返します。
@param template pack テンプレート文字列
@return オブジェクトの配列
以下にあげるものは、Array#pack、String#unpack、String#unpack1... -
IPSocket
# addr -> Array (44.0) -
ソケットの接続情報を表す配列を返します。配列の各要素は第1要 素が文字列 "AF_INET", "AF_INET6" など、第2要素が port 番号、第3要素がホストを表 す文字列、第4要素がホストの IP アドレスを表す文字列 (octet decimal や hexadecimal) です。
...配列の各要素は第1要
素が文字列 "AF_INET", "AF_INET6" など、第2要素が port 番号、第3要素がホストを表
す文字列、第4要素がホストの IP アドレスを表す文字列 (octet
decimal や hexadecimal) です。
@raise Errno::EXXX getsockname(2) が 0 未満の......値を返した場合に発生します。
例:
require 'socket'
serv = TCPServer.new("localhost", 0)
p serv.addr #=> ["AF_INET", 46102, "localhost.localdomain", "127.0.0.1"]
c = TCPSocket.new(*serv.addr.values_at(3,1))
s = serv.accept... -
Array
# pack(template) -> String (42.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
...は「残りのデータ全て」の長さを
表します。型指定文字は以下で述べる pack テンプレート文字列の通りです。
@param template 自身のバイナリとしてパックするためのテンプレートを文字列で指定します。
以下にあげるもの......jZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWg==".unpack("m0")
# => ["abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"]
//}
@see base64
: M
quoted-printable encoding された文字列
//emlist[][ruby]{
["a b c\td \ne"].pack("M") # => "a b c\td =\n\ne=\n"
"a b c\td =\n......0.0.1".split(".").collect {|c| c.to_i}.pack("C4")
# => "\x7F\x00\x00\x01"
//}
: sockaddr_in 構造体
//emlist[][ruby]{
require 'socket'
[Socket::AF_INET,
Socket.getservbyname('echo'),
127, 0, 0, 1].pack("s n C4 x8")
# => "\x02\x00\x00\a\x7F\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00"
//}
pac... -
BasicSocket
# setsockopt(level , optname , optval) -> 0 (42.0) -
ソケットのオプションを設定します。setsockopt(2) を参照してください。
...NADDR_ANY, Socket::AF_INET).hton
sock.setsockopt(Socket::IPPROTO_IP, Socket::IP_ADD_MEMBERSHIP, optval)
@param level setsockopt(2) の level を参照してください。
@param optname setsockopt(2) の option_name を参照してください。
@param optval 設定値
@param socketoption......設定値を表す Socket::Option オブジェクト
@raise Errno::EXXX オプションの設定に失敗した場合発生します。
@see BasicSocket#getsockopt... -
BasicSocket
# setsockopt(socketoption) -> 0 (42.0) -
ソケットのオプションを設定します。setsockopt(2) を参照してください。
...NADDR_ANY, Socket::AF_INET).hton
sock.setsockopt(Socket::IPPROTO_IP, Socket::IP_ADD_MEMBERSHIP, optval)
@param level setsockopt(2) の level を参照してください。
@param optname setsockopt(2) の option_name を参照してください。
@param optval 設定値
@param socketoption......設定値を表す Socket::Option オブジェクト
@raise Errno::EXXX オプションの設定に失敗した場合発生します。
@see BasicSocket#getsockopt... -
Socket
:: AncillaryData . new(family , cmsg _ level , cmsg _ type , cmsg _ data) -> Socket :: AncillaryData (42.0) -
新たな Socket::AncillaryData オブジェクトを生成します。
...す。
family はソケットファミリーを指定します。
整数、文字列、シンボルを渡します。
* Socket::AF_INET, "AF_INET", "INET", :AF_INET, :INET
* Socket::AF_UNIX, "AF_UNIX", "UNIX", :AF_UNIX, :UNIX
* など
cmsg_level にはメッセージの元となるプロトコ......aryData: INET TCP NODELAY "">
p Socket::AncillaryData.new(:INET6, :IPV6, :PKTINFO, "")
#=> #<Socket::AncillaryData: INET6 IPV6 PKTINFO "">
@param family ソケットファミリー
@param cmsg_level プロトコル
@param cmsg_type 補助データの種類
@param cmsg_data データ内容... -
IPSocket
# recvfrom(maxlen , flags = 0) -> Array (30.0) -
recv と同様にソケットからデータを受け取りますが、 戻り値は文字列と相手ソケットのアドレス (形式は IPSocket#addr 参照) のペアです。引数につ いては BasicSocket#recv と同様です。
...のペアです。引数につ
いては BasicSocket#recv と同様です。
@param maxlen 受け取る文字列の最大の長さを指定します。
@param flags recv(2) を参照してください。
@raise IOError
@raise Errno::EXXX recvfrom(2) がエラーになった場合などに発生......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 #=> "foo"
p inet_addr #=> ["AF_INET", 32876, "localhost.localdomain", "127.0.0.1"]... -
Socket
# recvfrom(maxlen , flags=0) -> [String , Addrinfo] (30.0) -
ソケットからデータを受け取ります。
...。
@param maxlen ソケットから受けとるデータの最大値
@param flags フラグ
@raise Errno::EXXX recvfrom(2) がエラーを報告した場合に発生します。詳しくは
Errno と man を見てください。
例:
require 'socket'
s1 = Socket.new(Socket::AF_INET, S......ocket::SOCK_DGRAM, 0)
s2 = Socket.new(Socket::AF_INET, Socket::SOCK_DGRAM, 0)
s1.bind(Socket.sockaddr_in(0, "0.0.0.0"))
s2.send("foo", 0, s1.getsockname)
mesg, sockaddr = s1.recvfrom(10)
p mesg #=> "foo"
p sockaddr #=> "\0... -
Socket
:: Option . bool(family , level , optname , boolean) -> Socket :: Option (30.0) -
整数をデータとして持つ Socket::Option オブジェクト新たに生成し返します。
...CKET")、シンボル(:SOL_SOCKET, :SOCKET)を
指定することができます。
@param family ソケットファミリー
@param level ソケットオプションレベル
@param optname オプションの名前
@param boolean データ(真偽値)
require 'socket'
p Socket::Option.bool(:I......NET, :SOCKET, :KEEPALIVE, true)
# => #<Socket::Option: INET SOCKET KEEPALIVE 1>
p Socket::Option.bool(:INET, :SOCKET, :KEEPALIVE, false)
# => #<Socket::Option: AF_INET SOCKET KEEPALIVE 0>...
