63件ヒット
[1-63件を表示]
(0.316秒)
種類
- インスタンスメソッド (30)
- 特異メソッド (11)
- ライブラリ (11)
- 文書 (11)
キーワード
- pack (19)
- pack テンプレート文字列 (11)
- socket (11)
- unpack (11)
検索結果
先頭5件
-
Socket
. unpack _ sockaddr _ in(sockaddr) -> Array (18225.0) -
lib:socket#pack_stringを unpack したアドレスを返します。返される値は [port, ipaddr] の配列です。
...ケットアドレス構造体を pack した文字列lib:socket#pack_stringを指定します。
例:
require 'socket'
p Socket.unpack_sockaddr_in(Socket.sockaddr_in("echo", "localhost"))
=> [7, "127.0.0.1"]
p Socket.unpack_sockaddr_in(Socket.sockaddr_in("echo", "::1"))
=> [7, "::1"]... -
Array
# pack(template) -> String (412.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
...)
//emlist[][ruby]{
"\x01\xFE".unpack("c*") # => [1, -2]
[1, -2].pack("c*") # => "\x01\xFE"
[1, 254].pack("c*") # => "\x01\xFE"
//}
: C
unsigned char (8bit 符号なし整数)
//emlist[][ruby]{
"\x01\xFE".unpack("C*") # => [1, 254]
[1, -2].pack("C*") # => "\x01\xFE"
[1, 254].pack("C*") # =>......cket'
[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"
//}
pack/unpack を使う代わりに
Socket.pack_sockaddr_in,
Socket.unpack_sockaddr_in メソッドがあります。
: '\0'終端......アドレスは
//emlist[][ruby]{
[v].pack("P") # => "\xC0\xCC2L\fV\x00\x00"
//}
で得られます。
: UTF-8からUCS-2への変換 (サロゲートを処理していないので UTF-16 とはいえない)
リトルエンディアン:
//emlist[][ruby]{
("Comments").unpack("U*").pack("v*") #... -
Array
# pack(template , buffer: String . new) -> String (412.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
...)
//emlist[][ruby]{
"\x01\xFE".unpack("c*") # => [1, -2]
[1, -2].pack("c*") # => "\x01\xFE"
[1, 254].pack("c*") # => "\x01\xFE"
//}
: C
unsigned char (8bit 符号なし整数)
//emlist[][ruby]{
"\x01\xFE".unpack("C*") # => [1, 254]
[1, -2].pack("C*") # => "\x01\xFE"
[1, 254].pack("C*") # =>......cket'
[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"
//}
pack/unpack を使う代わりに
Socket.pack_sockaddr_in,
Socket.unpack_sockaddr_in メソッドがあります。
: '\0'終端......アドレスは
//emlist[][ruby]{
[v].pack("P") # => "\xC0\xCC2L\fV\x00\x00"
//}
で得られます。
: UTF-8からUCS-2への変換 (サロゲートを処理していないので UTF-16 とはいえない)
リトルエンディアン:
//emlist[][ruby]{
("Comments").unpack("U*").pack("v*") #... -
String
# unpack(template) -> Array (412.0) -
Array#pack で生成された文字列を テンプレート文字列 template にしたがってアンパックし、 それらの要素を含む配列を返します。
...)
//emlist[][ruby]{
"\x01\xFE".unpack("c*") # => [1, -2]
[1, -2].pack("c*") # => "\x01\xFE"
[1, 254].pack("c*") # => "\x01\xFE"
//}
: C
unsigned char (8bit 符号なし整数)
//emlist[][ruby]{
"\x01\xFE".unpack("C*") # => [1, 254]
[1, -2].pack("C*") # => "\x01\xFE"
[1, 254].pack("C*") # =>......cket'
[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"
//}
pack/unpack を使う代わりに
Socket.pack_sockaddr_in,
Socket.unpack_sockaddr_in メソッドがあります。
: '\0'終端......アドレスは
//emlist[][ruby]{
[v].pack("P") # => "\xC0\xCC2L\fV\x00\x00"
//}
で得られます。
: UTF-8からUCS-2への変換 (サロゲートを処理していないので UTF-16 とはいえない)
リトルエンディアン:
//emlist[][ruby]{
("Comments").unpack("U*").pack("v*") #... -
pack テンプレート文字列 (312.0)
-
pack テンプレート文字列
...)
//emlist[][ruby]{
"\x01\xFE".unpack("c*") # => [1, -2]
[1, -2].pack("c*") # => "\x01\xFE"
[1, 254].pack("c*") # => "\x01\xFE"
//}
: C
unsigned char (8bit 符号なし整数)
//emlist[][ruby]{
"\x01\xFE".unpack("C*") # => [1, 254]
[1, -2].pack("C*") # => "\x01\xFE"
[1, 254].pack("C*") # =>......cket'
[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"
//}
pack/unpack を使う代わりに
Socket.pack_sockaddr_in,
Socket.unpack_sockaddr_in メソッドがあります。
: '\0'終端......アドレスは
//emlist[][ruby]{
[v].pack("P") # => "\xC0\xCC2L\fV\x00\x00"
//}
で得られます。
: UTF-8からUCS-2への変換 (サロゲートを処理していないので UTF-16 とはいえない)
リトルエンディアン:
//emlist[][ruby]{
("Comments").unpack("U*").pack("v*") #... -
socket (90.0)
-
socket はプロセス外部との通信 (プロセス間通信、ホスト間通信) を実現します。
...ecimalによるIPアドレス(文字列) (例: "127.0.0.1")
* 空文字列 (""), 文字列 "<any>" - INADDR_ANYに相当
* 文字列 "::" - IN6ADDR_ANY_INIT に相当
* 文字列 "<broadcast>" - INADDR_BROADCASTに相当
* IPアドレスを表す 32bit の整数 (例: 0x7f000001)
====[a:ser......利用されます。
Socket.pack_sockaddr_in,
Socket.unpack_sockaddr_in といったメソッドにより、
例えば、以下のようにしてこの文字列を得ることが出来ます
require 'socket'
p Socket.pack_sockaddr_in("echo", "127.0.0.1")
=> "\002\000\000\a\177\000\000\001\0......ruby-lang.org", "http") => [#<Addrinfo: 221.186.184.68:80 TCP (www.ruby-lang.org:http)>]
* IPSocket.getaddress("www.ruby-lang.org") => "210.163.138.100"
* TCPSocket.gethostbyname("www.ruby-lang.org") => ["beryllium.ruby-lang.org", [], 2, "210.163.138.100"]
* Socket.gethostbyname("www.ruby-lan...