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

class BasicSocket

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

要約

ソケットを表す抽象クラスです。具体的なソケット操作はサブクラスで定義されます。

例えばインターネットドメインストリームソケットの場合は TCPSocket を用います。

特異メソッド

定義 説明
do_not_reverse_lookup -> bool

Socket#do_not_reverse_lookup の Socket オブジェクト生成時のデフォルト値を返します。

do_not_reverse_lookup=(bool)

BasicSocket#do_not_reverse_lookup の値を変更します。

for_fd(fd) -> BasicSocket

ファイルディスクリプタ fd に対する新しいソケットを生成します。

インスタンスメソッド

定義 説明
connect_address -> Addrinfo

ローカルマシン内で接続するのに適当なアドレスを Addrinfo オブジェクトで返します。

do_not_reverse_lookup -> bool

ソケットごとのアドレスからホスト名への逆引きの設定を返します。

do_not_reverse_lookup=(bool)

アドレスからホスト名への逆引きの設定をソケットごとに設定します。

getpeereid -> [Integer, Integer]

Unix ドメインソケットにおいて接続相手の euid と egid を返します。

getpeername -> String

接続の相手先のソケットの情報を取得します。sockaddr 構造体をパックした文字列を返します。getpeername(2) を参照してください。

getsockname -> String

ソケットの情報を取得します。sockaddr 構造体をパックした文字列を返します。getsockname(2) を参照してください。

getsockopt(level, optname) -> Socket::Option

ソケットのオプションを取得します。getsockopt(2) を参照してください。取得したオプションのデータを Socket::Option で返します。

local_address -> Addrinfo

getsockname(2) で得られたローカルアドレス情報を Addrinfo オブジェクトとして返します。

recv(maxlen, flags = 0) -> String

ソケットからデータを受け取り、文字列として返します。 maxlen は受け取る最大の長さを指定します。 flags については recv(2) を参照してください。flags のデフォルト値は 0 です。flags の指定に必要な定数は Socket クラスで定義されています。(例: Socket::MSG_PEEK)

recv_nonblock(maxlen, flags = 0) -> String

ソケットをノンブロッキングモードに設定した後、 recvfrom(2) でソケットからデータを受け取ります。

recvmsg(maxmesglen=nil, flags=0, maxcontrollen=nil, opts={}) -> [String, Addrinfo, Integer, *Socket::AncillaryData]

recvmsg(2) を用いてメッセージを受け取ります。

recvmsg_nonblock(maxmesglen=nil, flags=0, maxcontrollen=nil, opts={}) -> [String, Addrinfo, Integer, *Socket::AncillaryData]

recvmsg(2) を用いてノンブロッキング方式でメッセージを受け取ります。

remote_address -> Addrinfo

getpeername(2) で得られたリモートアドレス情報を Addrinfo オブジェクトとして返します。

send(mesg, flags, dest_sockaddr = nil) -> Integer

ソケットを介してデータを送ります。flags に関しては send(2) を参照してください。connect していないソケットに対しては送り先である dest_sockaddr を指定する必要があります。実際に送ったデータの長さを返します。

sendmsg(mesg, flags=0, dest_sockaddr=nil, *controls) -> Integer

sendmsg(2) を用いてメッセージを送ります。

sendmsg_nonblock(mesg, flags=0, dest_sockaddr=nil, *controls) -> Integer

sendmsg(2) を用いてノンブロッキング方式でメッセージを送ります。

setsockopt(level, optname, optval) -> 0
setsockopt(socketoption) -> 0

ソケットのオプションを設定します。setsockopt(2) を参照してください。

shutdown(how = Socket::SHUT_RDWR) -> 0

ソケットの以降の接続を終了させます。

継承したメソッド

! != __id__ instance_eval instance_exec method_missing singleton_method_added singleton_method_removed singleton_method_undefined << 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 .for_fd .foreach .pipe .popen .read .readlines .select .sysopen .try_convert .write ::SEEK_CUR ::SEEK_DATA ::SEEK_END ::SEEK_HOLE ::SEEK_SET !~ <=> == === =~ __send__ _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_PATCHLEVEL ::RUBY_PLATFORM ::RUBY_RELEASE_DATE ::RUBY_REVISION ::RUBY_VERSION ::SCRIPT_LINES__ ::STDERR ::STDIN ::STDOUT ::TOPLEVEL_BINDING ::TRUE