るりまサーチ

最速Rubyリファレンスマニュアル検索!
99件ヒット [1-99件を表示] (0.155秒)

別のキーワード

  1. _builtin >
  2. bigdecimal >
  3. module >
  4. integer >
  5. float >

クラス

キーワード

検索結果

BasicSocket#getsockopt(level, optname) -> Socket::Option (15409.0)

ソケットのオプションを取得します。getsockopt(2) を参照してください。 取得したオプションのデータを Socket::Option で返します。

...getsockopt(2)
を参照してください。
取得したオプションのデータを Socket::Option で返します。

level, optname には Socket::SOL_SOCKET Socket::SO_REUSEADDR
といった整数値の他、文字列("SOL_SOCKET", prefixなしの "SOCKET")や
シンボル(:SO_REUSEAD...
...:REUSEADDR)を用いることができます。

@param level getsockopt(2) の 第二引数のlevel
@param optname getsockopt(2) の 第三引数のoption_name
@see BasicSocket#setsockopt

例:

require 'socket'

serv = Socket.tcp_server_sockets("", 0)[0]
c = serv.local_address.connect...
...s = serv.accept
opt = c.getsockopt(Socket::IPPROTO_TCP, Socket::TCP_NODELAY)
# c.getsockopt("TCP", "NODELAY"), なども可能
p opt #=> #<Socket::Option: INET TCP NODELAY 0>
p opt.bool #=> false (Nagle アルゴリズム有効)
p opt.unpack("i")[0] #=> 0 (Socket::Option#unpack が互...

BasicSocket#getpeereid -> [Integer, Integer] (15303.0)

Unix ドメインソケットにおいて接続相手の euid と egid を 返します。

... euid と egid を
返します。

配列の最初の要素が euid, 2番目の要素が egid です。

ソケットが Unix ドメインソケットでない場合の返り値は
不定です。

require 'socket'

Socket
.unix_server_loop("/tmp/sock") {|s|
begin
e
uid, egid = s.getpee...
...reid

# Check the connected client is myself or not.
next if euid != Process.uid

# do something about my resource.
e
nsure
s.close
e
nd
}...

BasicSocket#getpeername -> String (15303.0)

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

...た文字列を返します。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\00...
...1\000\000\000\000\000\000\000\000"
p Socket.unpack_sockaddr_in(addr) #=> [46988, "127.0.0.1"]
p addr == s.getsockname #=> true...

BasicSocket#getsockname -> String (15303.0)

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

...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).reverse)
s = serv.accept...

Addrinfo#getnameinfo(flags=0) -> [String, String] (12303.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#connect_from(host, port) {|sock| ... } -> object (6309.0)

引数で指定されたアドレスから 自身のアドレスへソケットを接続します。

...クが渡されたときにはそのブロックに接続済み Socket
オブジェクトが渡されます。ブロックの返り値がメソッドの返り値となります。
ブロックを省略した場合は、接続済みSocket
オブジェクトが返されます。

引数で指定した...
...ト接続のローカル側のアドレスになります。

require 'socket'

Addrinfo.tcp("www.ruby-lang.org", 80).connect_from("0.0.0.0", 4649) {|s|
s.print "GET / HTTP/1.0\r\nHost: www.ruby-lang.org\r\n\r\n"
puts s.read
}

@param host ホスト(IP アドレスもしくはホスト...

Addrinfo#connect_from(host, port) -> Socket (6209.0)

引数で指定されたアドレスから 自身のアドレスへソケットを接続します。

...クが渡されたときにはそのブロックに接続済み Socket
オブジェクトが渡されます。ブロックの返り値がメソッドの返り値となります。
ブロックを省略した場合は、接続済みSocket
オブジェクトが返されます。

引数で指定した...
...ト接続のローカル側のアドレスになります。

require 'socket'

Addrinfo.tcp("www.ruby-lang.org", 80).connect_from("0.0.0.0", 4649) {|s|
s.print "GET / HTTP/1.0\r\nHost: www.ruby-lang.org\r\n\r\n"
puts s.read
}

@param host ホスト(IP アドレスもしくはホスト...

Socket#connect(server_sockaddr) -> 0 (6209.0)

connect(2) でソケットを接続します。

...connect(2) でソケットを接続します。

server_sockaddr は、
lib:socket#pack_string
もしくは Addrinfo オブジェクト
です。

0 を返します。

@param server_sockaddr 接続先アドレス
@raise Errno::EXXX connect(2) がエラーを報告した場合に発生します。...
...connect で www.ruby-lang.org:80 に接続するには以下のようにします。

例:

require 'socket'

s = Socket.new(Socket::AF_INET, Socket::SOCK_STREAM, 0)
sockaddr = Socket.sockaddr_in(80, "www.ruby-lang.org")
s.connect(sockaddr)
s.write "GET / HTTP/1.0\r\n\r\n"
print s.read...

Socket#connect_nonblock(server_sockaddr) -> 0 (6209.0)

ソケットをノンブロッキングモードに設定した後、 connect(2) を呼び出します。

...設定した後、
connect(2) を呼び出します。

引数、返り値は Socket#connect と同じです。

connect が EINPROGRESS エラーを報告した場合、その例外(Errno::EINPROGRESS)
には IO::WaitWritable が Object#extend されます。
これを connect_nonblock をリトラ...
...n Google's web page
require 'socket'
include Socket::Constants
socket
= Socket.new(AF_INET, SOCK_STREAM, 0)
sockaddr = Socket.sockaddr_in(80, 'www.google.com')
begin # emulate blocking connect
socket
.connect_nonblock(sockaddr)
rescue IO::WaitWritable
IO.select(nil, [socket]) # wa...
...it 3-way handshake completion
begin
socket
.connect_nonblock(sockaddr) # check connection failure
rescue Errno::EISCONN
e
nd
e
nd
socket
.write("GET / HTTP/1.0\r\n\r\n")
results = socket.read



@param server_sockaddr 接続先アドレス
@raise Errno::EXXX connect(2) がエラ...