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

class TCPSocket

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

要約

インターネットドメインのストリーム型ソケットのクラス。通常の 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"のような文字列) です。

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 はホスト名、または octet decimal によるインターネットアドレスを示す文字列、service は /etc/services (または NIS) に登録されているサー ビス名かポート番号です。

継承したメソッド

getpeername getsockname getsockopt recv recv_nonblock send setsockopt shutdown .do_not_reverse_lookup .for_fd << binmode bytes chars clone close close_read close_write closed? each each_byte eof expect fcntl fileno flush fsync getbyte getc gets ioctl isatty lineno lineno= lines nonblock nonblock= nonblock? pid pos pos= print printf putc puts read read_nonblock readbyte readbytes readchar readline readlines readpartial ready? reopen rewind scanf seek stat sync sync= sysread sysseek syswrite to_io to_ptr ungetc wait write write_nonblock .foreach .pipe .popen .read .readlines .select .sysopen ::SEEK_CUR ::SEEK_END ::SEEK_SET addr peeraddr recvfrom .getaddress == === =~ __id__ __send__ _dump class dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint