るりまサーチ

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

別のキーワード

  1. socket sock_dgram
  2. socket sock_rdm
  3. socket sock_raw
  4. socket sock_packet

ライブラリ

クラス

キーワード

検索結果

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

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

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

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

connect が EINPROGRESS エラーを報告した場合、その例外(Errno::EINPROGRESS)
には IO::WaitWritable が Object#extend さ...
...eb 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]) # wait 3-way han...
...dshake completion
begin
socket
.connect_nonblock(sockaddr) # check connection failure
rescue Errno::EISCONN
end
end
socket
.write("GET / HTTP/1.0\r\n\r\n")
results = socket.read



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

Socket#connect(server_sockaddr) -> 0 (17043.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.rea...

Socket#accept -> Array (17037.0)

新しい接続を受け付けて、新しい接続に対するソケットとアドレスの ペアを返します。accept(2) を参照。

...、accept でクライアントからの接続を受け付けるには以下のようにします。

例:

require 'socket'

serv = Socket.new(Socket::AF_INET, Socket::SOCK_STREAM, 0)
sockaddr = Socket.sockaddr_in(8080, "0.0.0.0")
serv.bind(sockaddr)
serv.listen(5)
sock = serv.accept...

Addrinfo#family_addrinfo(host, port) -> Addrinfo (8019.0)

引数から自身に「似た」Addrinfo オブジェクトを生成します。

...します。

require 'socket'

Addrinfo.tcp("0.0.0.0", 4649).family_addrinfo("www.ruby-lang.org", 80)
#=> #<Addrinfo: 221.186.184.68:80 TCP (www.ruby-lang.org:80)>

Addrinfo.unix("/tmp/sock").family_addrinfo("/tmp/sock2")
#=> #<Addrinfo: /tmp/sock2 SOCK_STREAM>

@param host ホスト(IP...
...アドレスもしくはホスト名)
@param port ポート番号(整数)もしくはサービス名(文字列)
@param path Unix domain socket のパス...

Addrinfo#family_addrinfo(path) -> Addrinfo (8019.0)

引数から自身に「似た」Addrinfo オブジェクトを生成します。

...します。

require 'socket'

Addrinfo.tcp("0.0.0.0", 4649).family_addrinfo("www.ruby-lang.org", 80)
#=> #<Addrinfo: 221.186.184.68:80 TCP (www.ruby-lang.org:80)>

Addrinfo.unix("/tmp/sock").family_addrinfo("/tmp/sock2")
#=> #<Addrinfo: /tmp/sock2 SOCK_STREAM>

@param host ホスト(IP...
...アドレスもしくはホスト名)
@param port ポート番号(整数)もしくはサービス名(文字列)
@param path Unix domain socket のパス...

絞り込み条件を変える

Addrinfo#socktype -> Integer (8019.0)

ソケットタイプを整数で返します。

...ソケットタイプを整数で返します。

require 'socket'

Addrinfo.tcp("localhost", 80).socktype == Socket::SOCK_STREAM #=> true...