るりまサーチ

最速Rubyリファレンスマニュアル検索!
118件ヒット [1-100件を表示] (0.307秒)
トップページ > クエリ:socket[x] > クエリ:unpack_sockaddr_in[x]

別のキーワード

  1. _builtin new
  2. _builtin inspect
  3. _builtin []
  4. _builtin to_s
  5. _builtin each

検索結果

<< 1 2 > >>

socket (38076.0)

socket はプロセス外部との通信 (プロセス間通信、ホスト間通信) を実現します。

...socket はプロセス外部との通信 (プロセス間通信、ホスト間通信) を実現します。


=== ソケットアドレス

ソケットというのは通信路の末端です。
たとえば 1対1 の通信では、まず通信路の両端にひとつずつソケットをつくり...
...ります。

IPSocket および UNIXSocket 以下のクラス階層では、
わざわざソケットアドレスという形式にまとめなくてもよいよう、
ソケットアドレスの中身を直接扱えるメソッドが用意されています。

また、IPSocket 以下での IP...
...
Socket
クラスなどソケットの低レベルインタフェースで利用されます。

Socket
.pack_sockaddr_in,
Socket
.unpack_sockaddr_in といったメソッドにより、
例えば、以下のようにしてこの文字列を得ることが出来ます

require 'socket'
p Socket.pa...

Socket.unpack_sockaddr_in(sockaddr) -> Array (35165.0)

lib:socket#pack_stringを unpack したアドレスを返します。返される値は [port, ipaddr] の配列です。

...:socket#pack_stringを
unpack したアドレスを返します。返される値は [port, ipaddr]
の配列です。

@param sockaddr ソケットアドレス構造体を 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"]...

Socket#recvfrom(maxlen, flags=0) -> [String, Addrinfo] (17072.0)

ソケットからデータを受け取ります。

...ソケットからデータを受け取ります。

Socket
#recv と同様ですが、返り値として
データ文字列と相手ソケットのアドレスのペアが返されます。

flags には Socket::MSG_* という定数の bitwise OR を渡します。
詳しくは recvfrom(2) を参...
...。詳しくは
Errno と man を見てください。
例:

require 'socket'

s1 = Socket.new(Socket::AF_INET, Socket::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 #=> "\002\000\200r\177\000\000\001\000\000\000\000\000\000\000\000"
p Socket.unpack_sockaddr_in(sockaddr) #=> [32882, "127.0.0.1"]...

Socket.gethostbyname(host) -> Array (17058.0)

ホスト名または IP アドレス(指定方法に関しては lib:socket#host_formatを参照) からホストの情報を返します。

...ホスト名または IP アドレス(指定方法に関しては
lib:socket#host_formatを参照)
からホストの情報を返します。

@param host 文字列でホストを指定します。

@return ホスト情報を含んだ4要素の配列を返します。

=== 返り値のホスト...
...) ならば
Socket
.unpack_sockaddr_in で unpack できます。

=== 使用例

irb(main):009:0> require 'socket'

irb(main):009:0> Socket.gethostbyname("210.251.121.214")
["helium.ruby-lang.org", ["helium"], 2, "\322\373y\326"]

irb(main):009:0> Socket.unpack_sockaddr_in(Socket.gethostby...

BasicSocket#getpeername -> String (11030.0)

接続の相手先のソケットの情報を取得します。sockaddr 構造体をパッ クした文字列を返します。getpeername(2) を参照してください。

...:

require 'socket'

serv = TCPServer.open("", 0)
c = TCPSocket.open(*Socket.unpack_sockaddr_in(serv.getsockname).reverse)
s = serv.accept
addr = c.getpeername
p addr #=> "\002\000\267\214\177\000\000\001\000\000\000\000\000\000\000\000"
p Socket.unpack_sockaddr_in(addr) #=> [46...

絞り込み条件を変える

BasicSocket#getsockname -> String (11030.0)

ソケットの情報を取得します。sockaddr 構造体をパックした 文字列を返します。getsockname(2) を参照してください。

...例:

require 'socket'

serv = TCPServer.open("", 0)
p serv.getsockname #=> "\002\000\236C\000\000\000\000\000\000\000\000\000\000\000\000"
p Socket.unpack_sockaddr_in(serv.getsockname) #=> [40515, "0.0.0.0"]
c = TCPSocket.open(*Socket.unpack_sockaddr_in(serv.getsockname).reve...

1.6.8から1.8.0への変更点(まとめ) (102.0)

1.6.8から1.8.0への変更点(まとめ) * ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/文法の変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/正規表現>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Marshal>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Windows 対応>)) * ((<1.6.8から1.8.0への変更点(まとめ)/廃止された(される予定の)機能>)) * ((<1.6.8から1.8.0への変更点(まとめ)/ライブラリ>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張ライブラリAPI>)) * ((<1.6.8から1.8.0への変更点(まとめ)/バグ修正>)) * ((<1.6.8から1.8.0への変更点(まとめ)/サポートプラットフォームの追加>))

...y-dev:19463>))

: ((<Hash#default_proc|Hash/default_proc>)) [new]

追加 ((<ruby-dev:17966>))

=== IO

: ((<IO/IO.sysopen>)) [new]
: ((<Socket#sysaccept|Socket/sysaccept>)) [new]
: ((<TCPServer#sysaccept|TCPServer/sysaccept>)) [new]
: ((<UNIXServer#sysaccept|UNIXServer/sysaccept>)) [new]

...
...[new]
追加

=== Socket

: ((<Socket/Socket.pack_sockaddr_in>)) [new]
: ((<Socket/Socket.unpack_sockaddr_in>)) [new]

追加。ソケットアドレス構造体(INET domain)のpack/unpack。

: ((<Socket/Socket.pack_sockaddr_un>)) [new]
: ((<Socket/Socket.unpack_sockaddr_un...
...レス構造体(UNIX domain)のpack/unpack。

: ((<UNIXSocket/UNIXSocket.pair>)) [new]
: ((<UNIXSocket/UNIXSocket.socketpair>)) [new]
: ((<UNIXSocket#recv_io|UNIXSocket/recv_io>)) [new]
: ((<UNIXSocket#send_io|UNIXSocket/send_io>)) [new]

追加

: ((<UNIXServer#listen|UNI...

Array#pack(template) -> String (48.0)

配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。

...F\xFE"
n = s.unpack("N").pack("l").unpack("l")[0]
n # => -2
//}

: IPアドレス
//emlist[][ruby]{
require 'socket'
official_hostname, alias_hostnames, address_family, *address_list = Socket.gethostbyname("localhost")
address_list.find {|address| address.size == 4 }.unpack("C4").join(".")
# => "127...
...list[][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"
//}

pack/unpack を使う代わりに
Socket
.pack_sockaddr_in,
Socket
.unpack_sockaddr_in メソッドがあり...

Array#pack(template, buffer: String.new) -> String (48.0)

配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。

...F\xFE"
n = s.unpack("N").pack("l").unpack("l")[0]
n # => -2
//}

: IPアドレス
//emlist[][ruby]{
require 'socket'
official_hostname, alias_hostnames, address_family, *address_list = Socket.gethostbyname("localhost")
address_list.find {|address| address.size == 4 }.unpack("C4").join(".")
# => "127...
...list[][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"
//}

pack/unpack を使う代わりに
Socket
.pack_sockaddr_in,
Socket
.unpack_sockaddr_in メソッドがあり...

String#unpack(template) -> Array (48.0)

Array#pack で生成された文字列を テンプレート文字列 template にしたがってアンパックし、 それらの要素を含む配列を返します。

...F\xFE"
n = s.unpack("N").pack("l").unpack("l")[0]
n # => -2
//}

: IPアドレス
//emlist[][ruby]{
require 'socket'
official_hostname, alias_hostnames, address_family, *address_list = Socket.gethostbyname("localhost")
address_list.find {|address| address.size == 4 }.unpack("C4").join(".")
# => "127...
...list[][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"
//}

pack/unpack を使う代わりに
Socket
.pack_sockaddr_in,
Socket
.unpack_sockaddr_in メソッドがあり...

絞り込み条件を変える

<< 1 2 > >>