Class: TCPSocket (Ruby 2.3.2)
Description: Class : TCPSocket - Ruby 2.3.2

- Home
- Core 2.3.2
- Std-lib 2.3.2
- Downloads

Support for the Ruby 2.3 series has ended. See here for reference.

### Home Classes Methods

### In Files

- socket/tcpsocket.c

### Parent

IPSocket

### Methods

- ::gethostbyname
- ::new

### Class/Module Index

Quicksearch

- Addrinfo
- BasicSocket
- IPSocket
- Object
- SOCKSSocket
- Socket
- Socket::AncillaryData
- Socket::Ifaddr
- Socket::Option
- Socket::UDPSource
- SocketError
- TCPServer
- TCPSocket
- UDPSocket
- UNIXServer
- UNIXSocket

No matching classes.

# TCPSocket

TCPSocket represents a TCP/IP client socket.

A simple client may look like:

    require 'socket'

    s = TCPSocket.new 'localhost', 2000

    while line = s.gets # Read lines from socket
      puts line         # and print them
    end

    s.close             # close socket when done

### Public Class Methods

gethostbyname(hostname) => [official_hostname, alias_hostnames, address_family, *address_list] click to toggle source

Lookups host information by hostname.

    TCPSocket.gethostbyname("localhost")
    #=> ["localhost", ["hal"], 2, "127.0.0.1"]

                   static VALUE
    tcp_s_gethostbyname(VALUE obj, VALUE host)
    {
        struct rb_addrinfo *res =
            rsock_addrinfo(host, Qnil, AF_UNSPEC, SOCK_STREAM, AI_CANONNAME);
        return rsock_make_hostent(host, res, tcp_sockaddr);
    }

new(remote_host, remote_port, local_host=nil, local_port=nil) click to toggle source

Opens a TCP connection to `remote_host` on `remote_port`. If `local_host` and `local_port` are specified, then those parameters are used on the local end to establish the connection.

                   static VALUE
    tcp_init(int argc, VALUE *argv, VALUE sock)
    {
        VALUE remote_host, remote_serv;
        VALUE local_host, local_serv;

        rb_scan_args(argc, argv, "22", &remote_host, &remote_serv,
                            &local_host, &local_serv);

        return rsock_init_inetsock(sock, remote_host, remote_serv,
                                   local_host, local_serv, INET_CLIENT);
    }