要約
インターネットドメインのストリーム型ソケットのクラスです。
通常の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
目次
- 特異メソッド
継承しているメソッド
- IPSocketから継承しているメソッド
- BasicSocketから継承しているメソッド
- IOから継承しているメソッド
-
- <<
- advise
- autoclose=
- autoclose?
- binmode
- binmode?
- clone
- close
- close_on_exec=
- close_on_exec?
- close_read
- close_write
- closed?
- dup
- each
- each_byte
- each_char
- each_codepoint
- each_line
- eof
- eof?
- external_encoding
- fcntl
- fdatasync
- fileno
- flush
- fsync
- getbyte
- getc
- gets
- internal_encoding
- ioctl
- isatty
- lineno
- lineno=
- path
- pid
- pos
- pos=
- pread
- printf
- putc
- puts
- pwrite
- read
- read_nonblock
- readbyte
- readchar
- readline
- readlines
- readpartial
- reopen
- rewind
- seek
- set_encoding
- set_encoding_by_bom
- stat
- sync
- sync=
- sysread
- sysseek
- syswrite
- tell
- to_i
- to_io
- to_path
- tty?
- ungetbyte
- ungetc
- write
- write_nonblock
- Enumerableから継承しているメソッド
-
- all?
- any?
- chain
- chunk
- chunk_while
- collect
- collect_concat
- compact
- count
- cycle
- detect
- drop
- drop_while
- each_cons
- each_entry
- each_slice
- each_with_index
- each_with_object
- entries
- filter
- filter_map
- find
- find_all
- find_index
- first
- flat_map
- grep
- grep_v
- group_by
- include?
- inject
- lazy
- map
- max
- max_by
- member?
- min
- min_by
- minmax
- minmax_by
- none?
- one?
- partition
- reduce
- reject
- reverse_each
- select
- slice_after
- slice_before
- slice_when
- sort
- sort_by
- sum
- take
- take_while
- tally
- to_a
- to_h
- uniq
- zip
特異メソッド
gethostbyname(host) -> Array
[permalink][rdoc][edit]-
ホスト名または IP アドレス (整数または"127.0.0.1" のような文字列)からホストの情報を返します。ホスト情報は、ホスト名、ホストの別名の配列、ホストのアドレスタイプ、ホストのアドレスを各要素とする配列です。ホストのアドレスは octet decimal の文字列 ("127.0.0.1"のような文字列) や IPv6 アドレス ("::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][edit] [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:
- ホスト名、またはインターネットアドレスを示す文字列を指定します。
- [PARAM] service:
- /etc/services (または NIS) に登録されているサービス名かポート番号を指定します。
- [PARAM] local_host:
- ホスト名、またはインターネットアドレスを示す文字列を指定します。
- [PARAM] local_service:
- /etc/services (または NIS) に登録されているサービス名かポート番号を指定します。
- [EXCEPTION] SocketError:
- 名前解決に失敗した場合に発生します。
open(host, service, local_host=nil, local_service=nil, connect_timeout: nil) -> TCPSocket
[permalink][rdoc][edit]new(host, service, local_host=nil, local_service=nil, connect_timeout: nil) -> TCPSocket
-
host で指定したホストの service で指定したポートと接続したソケットを返します。host はホスト名、またはインターネットアドレスを示す文字列、service は /etc/services (または NIS) に登録されているサービス名かポート番号です。
引数 local_host, local_service を指定した場合、そのアドレスに対して bind(2) します。
- [PARAM] host:
- ホスト名、またはインターネットアドレスを示す文字列を指定します。
- [PARAM] service:
- /etc/services (または NIS) に登録されているサービス名かポート番号を指定します。
- [PARAM] local_host:
- ホスト名、またはインターネットアドレスを示す文字列を指定します。
- [PARAM] local_service:
- /etc/services (または NIS) に登録されているサービス名かポート番号を指定します。
- [PARAM] connect_timeout:
- タイムアウトを秒数で指定します。