るりまサーチ

最速Rubyリファレンスマニュアル検索!
408件ヒット [1-100件を表示] (0.041秒)
トップページ > クエリ:@[x] > クエリ:require[x] > ライブラリ:socket[x] > クラス:Socket[x]

別のキーワード

  1. kernel require
  2. getoptlong require_order
  3. irb/ext/use-loader irb_require
  4. rubygems/custom_require require
  5. _builtin require

検索結果

<< 1 2 3 ... > >>

Socket.getaddrinfo(nodename, servname, family=nil, socktype=nil, protocol=nil, flags=nil) -> Array (63.0)

2553で定義された getaddrinfo() の機能を提供するクラスメソッド。この関数は gethostbyname() や getservbyname() の代わりとして用意されており、 IP のバージョンに依存しないプログラムを書くための標準的な API です。

...API です。

@
param nodename ホスト名を指定します。 必須引数です。 (lib:socket#host_formatを参照)

@
param servname サービス名を指定します。 必須引数です。 (lib:socket#service_formatを参照)

@
param family アドレスファミリー。Socket::Constants::A...
...を指定します。

@
param socktype ソケットタイプ。 Socket::Constants::SOCK_STREAM など、 SOCK_ で始まる定数を指定します。

@
param protocol プロトコル。Socket::Constants::IPPROTO_IP など、IPPROTO_ で始まる定数を指定します。

@
param flags getaddrinfo(...
...ai_flags メンバに相当する整数。 Socket::AI_PASSIVEなど。

@
return 7つの要素からなるアドレス情報に関する配列を返します。
@
raise SocketError getaddrinfo(3)がエラーを返したときに発生する例外です

@
see Addrinfo.getaddrinfo


=== アドレス情...

Socket.tcp(host, port, local_host=nil, local_port=nil, connect_timeout: nil) -> Socket (45.0)

TCP/IP で host:port に接続するソケットオブジェクトを作成します。

...オブジェクトを閉じます。

@
param host 接続先のホスト名
@
param port 接続先のポート番号
@
param local_host 接続元のホスト名
@
param local_port 接続元のポート番号
@
param connect_timeout タイムアウトまでの秒数
@
return ブロック付きで呼ばれ...
...ブロックが返した値です。
ブロックなしで呼ばれた場合はソケットオブジェクトを返します。

require
'socket'

Socket
.tcp("www.ruby-lang.org", 80) {|sock|
sock.print "GET / HTTP/1.0\r\nHost: www.ruby-lang.org\r\n\r\n"
sock.close_write
puts...

Socket.tcp(host, port, local_host=nil, local_port=nil, connect_timeout: nil) {|socket| ... } -> object (45.0)

TCP/IP で host:port に接続するソケットオブジェクトを作成します。

...オブジェクトを閉じます。

@
param host 接続先のホスト名
@
param port 接続先のポート番号
@
param local_host 接続元のホスト名
@
param local_port 接続元のポート番号
@
param connect_timeout タイムアウトまでの秒数
@
return ブロック付きで呼ばれ...
...ブロックが返した値です。
ブロックなしで呼ばれた場合はソケットオブジェクトを返します。

require
'socket'

Socket
.tcp("www.ruby-lang.org", 80) {|sock|
sock.print "GET / HTTP/1.0\r\nHost: www.ruby-lang.org\r\n\r\n"
sock.close_write
puts...

Socket.getnameinfo(sa, flags = 0) -> Array (39.0)

2553 で定義された getnameinfo() の機能を提供するク ラスメソッド。 gethostbyaddr() や getservbyport() の代 わりとして用意されています。IPのバージョンに依存しないプログラムを 書くための標準的なAPIです。

...

@
param sa 文字列か配列を与えます。

@
param flags 省略可能な第2引数 flags には getnameinfo(3) の第7番目の引数に指定する flags に相当する Fixnum を与えます。

@
return 配列を返し、その要素はアドレスとポートを表す文字列です。

@
r...
...ise SocketError getnameinfo(3) がエラーを起こした場合に生じる例外

@
see Addrinfo#getnameinfo

=== 引数 sa について
引数 sa には文字列か配列を与えます。文字列の場合は sockaddr 構造体
のパック文字列を与えます。具体的には BasicSocket#ge...
...素が4つの場合:
[アドレスファミリー, サービス, 任意, アドレスを表す文字列]

アドレスファミリーには Socket::AF_INET 等の定数の他に文字列
で "AF_INET" もしくは "AF_INET6" もしくは nil が
指定できます。ただしIPv6が使えな...

Socket.tcp_server_loop(host, port) {|sock,addr| ...} -> () (33.0)

TCP/IP で host:port で待ち受けるサーバ側のソケットを作成し、 新しい接続を受け入れるごとにブロックを呼び出します。

...合にそれが用いられます。

# 逐次的な echo サーバ
# 一度に一つのクライアントした取り扱えない
require
'socket'

Socket
.tcp_server_loop(16807) {|sock, client_addrinfo|
begin
IO.copy_stream(sock, sock)
ensure
sock.close
end
}...
...とに注意
require
'socket'

Socket
.tcp_server_loop(16807) {|sock, client_addrinfo|
Thread.new {
begin
IO.copy_stream(sock, sock)
ensure
sock.close
end
}
}

内部的には Socket.tcp_server_sockets で
生成したソケットを Socket.accept_loop...
...で処理しています。

@
param host 割り当てるホスト名
@
param port 割り当てるポート番号
@
see Socket.tcp_server_sockets, Socket.accept_loop...

絞り込み条件を変える

Socket.tcp_server_loop(port) {|sock,addr| ...} -> () (33.0)

TCP/IP で host:port で待ち受けるサーバ側のソケットを作成し、 新しい接続を受け入れるごとにブロックを呼び出します。

...合にそれが用いられます。

# 逐次的な echo サーバ
# 一度に一つのクライアントした取り扱えない
require
'socket'

Socket
.tcp_server_loop(16807) {|sock, client_addrinfo|
begin
IO.copy_stream(sock, sock)
ensure
sock.close
end
}...
...とに注意
require
'socket'

Socket
.tcp_server_loop(16807) {|sock, client_addrinfo|
Thread.new {
begin
IO.copy_stream(sock, sock)
ensure
sock.close
end
}
}

内部的には Socket.tcp_server_sockets で
生成したソケットを Socket.accept_loop...
...で処理しています。

@
param host 割り当てるホスト名
@
param port 割り当てるポート番号
@
see Socket.tcp_server_sockets, Socket.accept_loop...

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

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

...す。

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

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

@
param maxlen...
...
@
param flags フラグ
@
raise Errno::EXXX recvfrom(2) がエラーを報告した場合に発生します。詳しくは
Errno と man を見てください。
例:

require
'socket'

s1 = Socket.new(Socket::AF_INET, Socket::SOCK_DGRAM, 0)
s2 = Socket.new(Socket::AF_INET, Socket::SO...
...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_s...

Socket.getservbyport(port, protocol_name="tcp") -> String (27.0)

ポート番号に対応するサービスの正式名を返します。

...式名を返します。

@
param port ポート番号
@
param protocol_name "tcp" や "udp" などのプロトコル名
@
return サービスの正式名

require
'socket'

Socket
.getservbyport(80) #=> "www"
Socket
.getservbyport(514, "tcp") #=> "shell"
Socket
.getservbyport(514, "ud...

Socket.new(domain, type, protocol=0) -> Socket (27.0)

新しいソケットを生成します。domain、type、 protocol はインクルードファイルにある定数で指定しま す。ほとんどの定数は Socket::AF_INET のように Socket クラスの定数として定義されています。domain とtype に関しては、"AF_INET", "SOCK_STREAM" のように文字列でも指定できますが、文 字列ですべての機能を指定できる保証はありません。

...します。domain、type、
protocol はインクルードファイルにある定数で指定しま
す。ほとんどの定数は Socket::AF_INET のように
Socket
クラスの定数として定義されています。domain
とtype に関しては、"AF_INET",
"SOCK_STREAM" のように文字...
...はありません。

例えば、IPv4 の TCP ソケットは以下のように生成されます。

require
'socket'

s = Socket.new(Socket::AF_INET, Socket::SOCK_STREAM, 0)

なお、socket(2) の domain 引数において AF_ と PF_ のどちらの定数を使用するかについては...
...います。

@
param domain 例えば、<sys/socket.h> のようなインクルードファイルに定義されている定数を指定します。
@
param type 例えば、<sys/socket.h> のようなインクルードファイルに定義されている定数を指定します。
@
param protocol...
<< 1 2 3 ... > >>