Class: TCPSocket
| Relationships & Source Files | |
| Extension / Inclusion / Inheritance Descendants | |
|
Subclasses:
|
|
| Super Chains via Extension / Inclusion / Inheritance | |
|
Class Chain:
|
|
|
Instance Chain:
|
|
| Inherits: |
IPSocket
|
| Defined in: | ext/socket/tcpsocket.c |
Overview
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
Class Attribute Summary
::BasicSocket - Inherited
| .do_not_reverse_lookup | Gets the global do_not_reverse_lookup flag. |
| .do_not_reverse_lookup= | Sets the global do_not_reverse_lookup flag. |
Class Method Summary
-
.gethostbyname(hostname) ⇒ Array, ...
Lookups host information by hostname.
-
.new(remote_host, remote_port, local_host = nil, local_port = nil)
constructor
Opens a TCP connection to
remote_hostonremote_port.
::IPSocket - Inherited
| .getaddress | Lookups the IP address of host. |
::BasicSocket - Inherited
| .for_fd | Returns a socket object which contains the file descriptor, fd. |
Instance Attribute Summary
::BasicSocket - Inherited
| #do_not_reverse_lookup | Gets the do_not_reverse_lookup flag of basicsocket. |
| #do_not_reverse_lookup= | Sets the do_not_reverse_lookup flag of basicsocket. |
Instance Method Summary
::IPSocket - Inherited
| #addr | Returns the local address as an array which contains address_family, port, hostname and numeric_address. |
| #peeraddr | Returns the remote address as an array which contains address_family, port, hostname and numeric_address. |
| #recvfrom | Receives a message and return the message as a string and an address which the message come from. |
::BasicSocket - Inherited
| #close_read | Disallows further read using shutdown system call. |
| #close_write | Disallows further write using shutdown system call. |
| #connect_address | Returns an address of the socket suitable for connect in the local machine. |
| #getpeereid | Returns the user and group on the peer of the UNIX socket. |
| #getpeername | Returns the remote address of the socket as a sockaddr string. |
| #getsockname | Returns the local address of the socket as a sockaddr string. |
| #getsockopt | Gets a socket option. |
| #local_address | Returns an ::Addrinfo object for local address obtained by getsockname. |
| #recv | Receives a message. |
| #recv_nonblock | Receives up to maxlen bytes from |
| #recvmsg | recvmsg receives a message using recvmsg(2) system call in blocking manner. |
| #recvmsg_nonblock | recvmsg receives a message using recvmsg(2) system call in non-blocking manner. |
| #remote_address | Returns an ::Addrinfo object for remote address obtained by getpeername. |
| #send | send mesg via basicsocket. |
| #sendmsg | sendmsg sends a message using sendmsg(2) system call in blocking manner. |
| #sendmsg_nonblock | sendmsg_nonblock sends a message using sendmsg(2) system call in non-blocking manner. |
| #setsockopt | Sets a socket option. |
| #shutdown | Calls shutdown(2) system call. |
| #__recvmsg, #__recvmsg_nonblock, #__sendmsg, #__sendmsg_nonblock | |
Constructor Details
.new(remote_host, remote_port, local_host = nil, local_port = nil)
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.
Class Method Details
.gethostbyname(hostname) ⇒ Array, ...
Lookups host information by hostname.
TCPSocket.gethostbyname("localhost")
#=> ["localhost", ["hal"], 2, "127.0.0.1"]