Ruby 2.4.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(host) -> Array

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

open(host, serv, local_host=nil, local_service=nil) -> TCPSocket
new(host, serv, local_host=nil, local_service=nil) -> TCPSocket

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

resolv-replace
open(host, service, local_host=nil, local_service=nil) -> TCPSocket
new(host, service, local_host=nil, local_service=nil) -> TCPSocket

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

継承したメソッド

! != __id__ __send__ instance_eval instance_exec method_missing singleton_method_added singleton_method_removed singleton_method_undefined connect_address do_not_reverse_lookup do_not_reverse_lookup= getpeereid getpeername getsockname getsockopt local_address recv recv_nonblock recvmsg recvmsg_nonblock remote_address send sendmsg sendmsg_nonblock setsockopt shutdown .do_not_reverse_lookup .do_not_reverse_lookup= .for_fd << advise autoclose= autoclose? binmode binmode? bytes chars clone close close_on_exec= close_on_exec? close_read close_write closed? codepoints cooked cooked! each each_byte each_char each_codepoint echo= echo? eof expect external_encoding fcntl fdatasync fileno flush fsync getbyte getc getch gets iflush internal_encoding ioctl ioflush isatty lineno lineno= lines noecho nonblock nonblock= nonblock? nread oflush pathconf pid pos pos= print printf putc puts raw raw! read read_nonblock readbyte readchar readline readlines readpartial ready? reopen rewind scanf seek set_encoding stat sync sync= sysread sysseek syswrite to_io ungetbyte ungetc wait wait_writable winsize winsize= write write_nonblock .binread .binwrite .console .console_size .copy_stream .default_console_size .foreach .pipe .popen .read .readlines .select .sysopen .try_convert .write ::SEEK_CUR ::SEEK_DATA ::SEEK_END ::SEEK_HOLE ::SEEK_SET addr peeraddr recvfrom .getaddress !~ <=> == === =~ _dump class define_singleton_method display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? itself marshal_dump marshal_load method methods nil? object_id pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods psych_to_yaml public_method public_methods public_send remove_instance_variable respond_to? respond_to_missing? singleton_class singleton_method singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_proc to_regexp to_s to_str trust untaint untrust untrusted? .yaml_tag ::ARGF ::ARGV ::DATA ::ENV ::FALSE ::NIL ::RUBY_COPYRIGHT ::RUBY_DESCRIPTION ::RUBY_ENGINE ::RUBY_ENGINE_VERSION ::RUBY_PATCHLEVEL ::RUBY_PLATFORM ::RUBY_RELEASE_DATE ::RUBY_REVISION ::RUBY_VERSION ::SCRIPT_LINES__ ::STDERR ::STDIN ::STDOUT ::TOPLEVEL_BINDING ::TRUE