Ruby 2.1.0 リファレンスマニュアル > ライブラリ一覧 > socketライブラリ > TCPSocketクラス

class TCPSocket

クラスの継承リスト: TCPSocket < IPSocket < BasicSocket < IO < Enumerable < File::Constants < Object < Kernel < BasicObject

要約

インターネットドメインのストリーム型ソケットのクラスです。

通常のIO クラスのサブクラスと同 様の入出力ができます。このクラスによってソケットを用いたクラ イアントを簡単に記述できるようになります。

ユーザの入力をそのままサーバに転送するプログラムは以下の ようになります。

require "socket"

port = if ARGV.size > 0 then ARGV.shift else 4444 end
print port, "\n"

s = TCPSocket.open("localhost", port)

while gets
  s.write($_)
  print(s.gets)
end
s.close

目次

特異メソッド
gethostbyname new open new open

特異メソッド

gethostbyname(host) -> Array[permalink][rdoc]

ホスト名または IP アドレス (整数または"127.0.0.1" のような文字列)からホストの情報を返します。ホスト情報は、ホ スト名、ホストの別名の配列、ホストのアドレスタイプ、ホストの アドレスを各要素とする配列です。ホストのアドレスは octet decimal の文字列 ("127.0.0.1"のような文字列) です。

[PARAM] host:
ホスト名または IP アドレス (整数または"127.0.0.1" のような文字列)を指定します。
[RETURN]
ホスト名、ホストの別名の配列、ホストのアドレスタイプ、ホストのアドレスを各要素とする配列を返します。

例:

require 'socket'

p TCPSocket.gethostbyname("www.ruby-lang.org")
#=> ["beryllium.ruby-lang.org", [], 2, "210.163.138.100"]
open(host, serv, local_host=nil, local_service=nil) -> TCPSocket[permalink][rdoc] [redefined by resolv-replace]
new(host, serv, local_host=nil, local_service=nil) -> TCPSocket [redefined by resolv-replace]

TCPSocket.new のパラメータ host と local_host の名前解決に resolv ライブラリを使います。

[PARAM] host:
ホスト名、または octet decimal によるインターネットアドレスを示す文字列を指定します。
[PARAM] service:
/etc/services (または NIS) に登録されているサービス名かポート番号を指定します。
[PARAM] local_host:
ホスト名、または octet decimal によるインターネットアドレスを示す文字列を指定します。
[PARAM] local_service:
/etc/services (または NIS) に登録されているサービス名かポート番号を指定します。
[EXCEPTION] SocketError:
名前解決に失敗した場合に発生します。
open(host, service, local_host=nil, local_service=nil) -> TCPSocket[permalink][rdoc]
new(host, service, local_host=nil, local_service=nil) -> TCPSocket

host で指定したホストの service で指定したポートと接続したソケッ トを返します。host はホスト名、または octet decimal によるインターネットアドレスを示す文字列、service は /etc/services (または NIS) に登録されているサー ビス名かポート番号です。

引数 local_host, local_service を指定した場合、そのアドレス に対して bind(2) します。

[PARAM] host:
ホスト名、または octet decimal によるインターネットアドレスを示す文字列を指定します。
[PARAM] service:
/etc/services (または NIS) に登録されているサービス名かポート番号を指定します。
[PARAM] local_host:
ホスト名、または octet decimal によるインターネットアドレスを示す文字列を指定します。
[PARAM] local_service:
/etc/services (または NIS) に登録されているサービス名かポート番号を指定します。